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

问题描述 投票:0回答:4

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

html / javascript 在 Chromium 上运行良好,但某些操作在平板电脑上无法发生。有没有办法查看 javascript 本身是否在平板电脑上失败?一种控制台视图?

javascript android webview
4个回答
52
投票

您实际上可以从 WebView 接收控制台消息,这将允许您捕获它抛出的错误。

为此:

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

示例:

    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上运行时,您还可以启用远程调试!


37
投票

您可以使用

Remote Debugging WebViews

Chrome Devtools 远程调试

更多信息

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

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

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

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


2
投票

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

另外,请搜索一下还有很多类似的问题:


1
投票

在现代版本的 Android Studio 中,只需查看 logcat 即可。带

cromium
标签的消息。

© www.soinside.com 2019 - 2024. All rights reserved.