我知道要在webview中运行javascript函数,我们需要在loadUrl()中加载它。在我的程序中,当我在loadUrl中使用它时,一切正常javascript被调用,但是不是在同一页面上运行javascript,loadUrl(“javascript:function()”)消失了我的上一页并运行此javascript“function()”in一个全新的空白页..
例如。我试图使用命令自动填写表单:
view.loadUrl(“javascript:document.getElementById('password')。value ='my_passoword'”);
会发生什么情况,由ID-'password'组成的页面消失,而新的空白页面只会生成'my_password'
问题出在哪里?
答案 0 :(得分:1)
匿名自我调用函数工作正常..即
view.loadUrl("javascript:(function(){document.getElementById('password').value = 'sb14november';})()");
作为一个循环,我认为Bojan Kseneman的回答也会起作用。
感谢所有!! :)
答案 1 :(得分:1)
编辑:此库仅用于评估JavaScript,它创建了一个新的WebView而不是使用现有的WebView:/
您还可以尝试js evaluator library
jsEvaluator.evaluate("put your JavaScript code", new JsCallback() {
@Override
public void onResult(final String result) {
// you get the result here (optional)
}
});