Android:在webview中调试javascript的问题

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

我做错了什么?

谢谢。

  • 在webview中处理链接
  • 如何使用WebMessagePort作为addJavascriptInterface()的替代方法?
  • 有人可以给一个android的webview实现一个确切的例子
  • Android的webview,在资产文件夹中加载JavaScript文件
  • 如何设置webview的初始缩放/宽度
  • UiAutomator getLastTraversedText()
  • 使用JavascriptInterface时未捕获TypeError
  • Android - 在WebView.loadUrl()之前在LocalStorage上保存值
  • 似乎HTC在Android 2.2设备上禁用了console.log。 看看这篇文章:

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

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

    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 – 来自文件的第24行:///android_asset/base.js 03-16 15:53:12.309:VERBOSE / ChromeClient(595) ):严重 – 来自file:///android_asset/base.js的第25行