gpt4 book ai didi

javascript - 将数据从 Native Activity 传递到 WebView

转载 作者:行者123 更新时间:2023-12-01 19:45:12 25 4
gpt4 key购买 nike

我正在尝试使用 native Activity 中的 Intent 传递字符串,并在 WebActivity 类中检索它,如下所示:

final String username = getIntent().getStringExtra("USERNAME");

之后,我尝试调用一个 Javascript 函数,该函数将使用 DOM 操作将 text 输入的值更改为 Intent 中的 username 值。我的问题是:

这有效(硬编码值称为“test”):

myWebView.loadUrl("javascript:(function(){document.getElementById('username').value = 'test';})();");

这不会(尝试将其设置为我的 Intent 值):

myWebView.loadUrl("javascript:(function(){document.getElementById('username').value = "+username+";})();");

我认为我可能错误地包装了 username 值,但按照我现在的方式使用它根本不会修改文本输入。

最佳答案

在用户Mike M.的帮助下我发现我犯了两个错误:

  • 错误地放置了额外的内容
  • 缺少单引号
Intent myWebIntent = new Intent(MainActivity.this, MyWebActivity.class);
myWebIntent.putExtra("USERNAME", s); // this line needs to go before startActivity()
startActivity(battleShipIntent);

用户名值应该用单引号括起来,如下所示:

myWebView.loadUrl("javascript:(function(){document.getElementById('username').value = '"+username+"';})();");

关于javascript - 将数据从 Native Activity 传递到 WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59130303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com