我已加载WebView
我正在加载网页,我已将自定义WebChromeClient
设置为捕获控制台日志,但我发现它与控制台相比不完整浏览器。 cm.message()
返回的消息不包含传递给控制台方法的所有值。
console.log("Test");//Test
将起作用,但以下只显示第一个参数
console.log("test", 1);//test - expected test 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
将其注入您的网页。