最近在项目中WebView中嵌入H5页面,发现其中一个页面的事件全都没有用了。但是在浏览器中却没有问题。但是又不知道如何调试,后来通过查资料发现在Android中是可以打印js通过console.log()打印的log。方法如下:
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onConsoleMessage(String message, int lineNumber, String sourceID) {
Log.d("webview", message + " -- From line " + lineNumber + " of " + sourceID);
}
});
通过以上方法发现就是这个js文件在108行报错了:
于是打开这个js文件找到108行,发现代码如下:
for(var sch of sch_list)
这行代码有什么错呢,根本没有什么错啊。。。于是找来前端大神求助,大神看了半天,又想了想恍然大悟说你这是前端代码?不能用for...of...循环,这对浏览器来说太新了,可能不支持,于是换成forEach循环后果然就可以了,大喜。