[英]How to get the Javascript messages from android webview
大家好,我想在Webview中注入一些代码,看看代码是否成功。 我尝试覆盖WebChromeClient的onConsoleMessage方法,但它仅报告代码是否为未捕获的引用
public boolean onConsoleMessage (ConsoleMessage consoleMessage){
System.out.println(consoleMessage.message());
}
我只收到以下消息:
Uncaught ReferenceError: noob is not defined
当我执行有效的命令时
document.getElementById("mainPage").innerHTML = "Hello Dolly.";
我想以某种方式知道命令成功还是失败。 mainPage div的内容变化很好,但是无论命令是否成功完成,onConsole方法都没有消息。 知道我能做什么吗? 提前致谢
该方法是一个回调,它不会执行您想要的操作。
尝试这个
webView.loadUrl("javascript:alert('Hey there!')");
注入JavaScript。
然后,将自定义WebViewClient设置为WebView并重写onReceivedError以检测任何JS错误。
也Theres这种方法evaluateJavascript这可能是有用的JS注入和检测,如果它成功了。 您的脚本字符串如下所示:
(function() {
try {
//do something
return "ok";
} catch(err){
return "error";
}
})();
因此,您可以这样称呼它:
mWebView.evaluateJavascript(<above script here>, new ValueCallback<String>() {
@Override
public void onReceiveValue(String s) {
if("ok".equals(s)){
} else {
//error
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.