【问题标题】:Android: problem with debugging javascript in webviewAndroid:在 webview 中调试 javascript 的问题
【发布时间】:2011-06-19 02:28:35
【问题描述】:

我在 WebView 中运行了一些 javascript,我想接收有关 JS 错误的控制台消息。 按照http://developer.android.com/guide/webapps/debugging.html的说明,我重写了方法

WebChromeClient.onConsoleMessage(String message, int lineNumber, String sourceID)

WebChromeClient.onConsoleMessage(ConsoleMessage cm),

将消息重定向到 logcat。在 android 2.1 中它运行良好,但在 android 2.2 中没有调用这些方法。

我做错了什么?

谢谢。

【问题讨论】:

  • 在存货 HTC Desire HD/Android 2.2 上遇到同样的问题。
  • 我有 HTC Legend。这似乎是 HTC 特有的问题,因为在模拟器上一切正常。

标签: android android-webview


【解决方案1】:

我刚刚在 2.2(8 级)上进行了测试。它工作正常。不知道为什么你没有看到它。我会验证 ChromeClient 的设置。

js 包含...

console.log("Hello World");
console.error("Serious");

ChromeClient 包含

    @Override
public void onConsoleMessage(String message, int lineNumber, String sourceID) {
    // TODO Auto-generated method stub
    Log.v("ChromeClient", "invoked: onConsoleMessage() - " + sourceID + ":"
            + lineNumber + " - " + message);
    super.onConsoleMessage(message, lineNumber, sourceID);
}

@Override
public boolean onConsoleMessage(ConsoleMessage cm) {
    Log.v("ChromeClient", cm.message() + " -- From line "
            + cm.lineNumber() + " of "
            + cm.sourceId() );
    return true;
}

日志包含 03-16 15:53:12.309: VERBOSE/ChromeClient(595): Hello World -- 来自 file:///android_asset/base.js 的第 24 行 03-16 15:53:12.309: VERBOSE/ChromeClient(595): 严重 -- 来自 file:///android_asset/base.js 的第 25 行

【讨论】:

  • 我有类似的代码。在模拟器上运行良好。但在设备上却没有。
【解决方案2】:

似乎 HTC 在 Android 2.2 设备上禁用了 console.log。看看这篇文章:

How to display console.log() output in PhoneGap app using Eclipse and HTC Desire HD?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    • 2011-07-17
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    相关资源
    最近更新 更多