【发布时间】:2017-02-20 14:48:51
【问题描述】:
我有一些关于 WebView 的问题。 我有一些页面。此页面有两个输入字段。
我们可以在页面加载时在字段中输入一些文本。但是,我可以在加载后设置这个字段吗? 例如,页面打开,我在工具栏菜单中选择了一些文本。在此文本粘贴到 webView 字段之后。 真的要领悟吗?谢谢。
【问题讨论】:
标签: javascript android webview
我有一些关于 WebView 的问题。 我有一些页面。此页面有两个输入字段。
我们可以在页面加载时在字段中输入一些文本。但是,我可以在加载后设置这个字段吗? 例如,页面打开,我在工具栏菜单中选择了一些文本。在此文本粘贴到 webView 字段之后。 真的要领悟吗?谢谢。
【问题讨论】:
标签: javascript android webview
首先让我们分解问题。
webview 只会像浏览器一样加载一些 HTML。如果您想以编程方式将文本插入网页中的输入元素,那么我们需要使用 javascript。
对于 Android,webview 是一个处理自己的绘图的视图,我们可以与它的方法进行交互,这就是一般水平。
但是,如果我们希望在 Android 范围内执行某些操作,从而触发一些 javascript 在网页内发生,那么这两者会相遇。
我们仍然必须遵守我们在解决问题时描述的所有规则。那么让我们用这些术语来讨论它:我们需要以这样一种方式与 webview 的方法交互,它会使用 javascript 将文本插入到输入元素中。
所以,现在我们知道我们需要什么了:
JavaScript 很简单。这样的事情就可以解决问题。
document.findElementById('my_text').value = 'My Text';
<input type='text' id='my_text' />
谢天谢地,我们可以使用这样的 WebView 方法。它相当冗长但非常直接,您可以阅读所有相关内容here。
希望这会有所帮助。
【讨论】:
@DanielLaneDC 的反馈对我帮助很大,只是需要更多信息才能让它在我身边发挥作用。希望它可以帮助下一个人。
如果您的网站有这样的输入字段:
<input type="password" id="activeInput" autoaccept="true" value="">
我向我的网络服务器添加了一个 javascript 函数:
function getFromAndroid(str){
document.getElementById('activeInput').value = str;
}
在Android webview中我调用了javascript函数:
webView.loadUrl("javascript:getFromAndroid('"+yourtext+"')");
如果您还没有确保添加:
webSettings.setJavaScriptEnabled(true);
【讨论】: