我正在尝试在应用中的WebView中运行javascript。我正在开发Nexus 7。
html / javascript在Chromium上运行正常,但平板电脑上没有发生某些操作。有没有办法看到平板电脑上是否有任何javascript失败?一种控制台视图?
答案 0 :(得分:27)
您实际上可以从WebView接收控制台消息,这样可以捕获它引发的错误。
这样做:
示例:
final WebView webView = (WebView) findViewById(R.id.webview_terms_conditions);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
Log.d("MyApplication", consoleMessage.message() + " -- From line "
+ consoleMessage.lineNumber() + " of "
+ consoleMessage.sourceId());
return super.onConsoleMessage(consoleMessage);
}
});
webView.loadUrl(getString(R.string.url_terms_conditions));
与here类似,虽然该文档不完整且使用了弃用的方法。
在Android KitKat上运行时,您还可以enable remote debugging!
答案 1 :(得分:5)
您可以使用Remote Debugging WebViews
Chrome Devtools Remote Debugging
使用Chrome开发者工具调试本机Android应用中的WebView。
在Android 4.4(KitKat)或更高版本上,使用DevTools调试本机Android应用程序中的WebView内容。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
}
答案 2 :(得分:2)
您可以使用Firebug lite。它只是一个书签,因此您可以在任何页面上打开它。
此外,请搜索还有许多其他类似的问题: