onConsoleMessage捕获的控制台消息不完整

时间:2015-04-24 09:44:31

标签: java android webview webchromeclient

我已加载WebView我正在加载网页,我已将自定义WebChromeClient设置为捕获控制台日志,但我发现它与控制台相比不完整浏览器。 cm.message()返回的消息不包含传递给控制台方法的所有值。

console.log("Test");//Test

将起作用,但以下只显示第一个参数

console.log("test", 1);//test - expected test 1

有什么方法可以解决它吗?

1 个答案:

答案 0 :(得分:2)

一个有趣的错误!

您可以将console.log包装在您自己的函数中,将所有参数连接成一个字符串。执行此操作的JavaScript代码如下:

(function() { 
    var oldLog = console.log;
    console.log = function() { 
        oldLog.call(console, Array.prototype.slice.call(arguments).join(" "));
    }
})();

您可以使用WebView.loadUrl('javascript:...')WebView.evaluateJavascript将其注入您的网页。