繁体   English   中英

如何从Android WebView获取Javascript消息

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM