Android:在webview中调试javascript的问题

Ily*_*kin 22 android android-webview

我在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中没有调用此方法.

我做错了什么?

谢谢.

Geo*_*geW 7

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

如何使用Eclipse和HTC Desire HD在PhoneGap应用程序中显示console.log()输出?


rqu*_*inn 6

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

js包含......

console.log("Hello World");
console.error("Serious");
Run Code Online (Sandbox Code Playgroud)

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;
}
Run Code Online (Sandbox Code Playgroud)

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