如何在Android应用中查看WebView中的Javascript错误?

时间:2013-02-13 18:00:49

标签: javascript android webview

我正在尝试在应用中的WebView中运行javascript。我正在开发Nexus 7。

html / javascript在Chromium上运行正常,但平板电脑上没有发生某些操作。有没有办法看到平板电脑上是否有任何javascript失败?一种控制台视图?

3 个答案:

答案 0 :(得分:27)

您实际上可以从WebView接收控制台消息,这样可以捕获它引发的错误。

这样做:

  1. 在WebView上启用JavaScript
  2. 设置WebChromeClient
  3. 覆盖onConsoleMessage
  4. 示例:

        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

More info

使用Chrome开发者工具调试本机Android应用中的WebView。

在Android 4.4(KitKat)或更高版本上,使用DevTools调试本机Android应用程序中的WebView内容。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    WebView.setWebContentsDebuggingEnabled(true);
}

在PC浏览器中输入chrome:// inspect enter image description here

答案 2 :(得分:2)

您可以使用Firebug lite。它只是一个书签,因此您可以在任何页面上打开它。

此外,请搜索还有许多其他类似的问题: