我正在尝试在应用程序的 WebView 中运行 javascript。我正在 Nexus 7 上进行开发。
html / javascript 在 Chromium 上运行良好,但某些操作在平板电脑上无法发生。有没有办法查看 javascript 本身是否在平板电脑上失败?一种控制台视图?
您实际上可以从 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上运行时,您还可以启用远程调试!
您可以使用
Remote Debugging WebViews
使用 Chrome 开发者工具调试本机 Android 应用中的 WebView。
在 Android 4.4 (KitKat) 或更高版本上,使用 DevTools 调试本机 Android 应用程序中的 WebView 内容。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
}
您也许可以使用Firebug lite。它只是一个书签,因此您可以在任何页面上打开它。
另外,请搜索一下还有很多类似的问题:
在现代版本的 Android Studio 中,只需查看 logcat 即可。带
cromium
标签的消息。