有没有办法捕获Web控制台错误?

时间:2013-05-26 14:59:19

标签: android webview android-webview

使用WebView,某些网站需要很长时间才能完成页面加载(如WebViewClient.onPageFinished()中所述),当发生这种情况时,这可以通过以下类型的Web控制台错误来表征:

E/Web Console(1916): Unsafe JavaScript attempt to access frame with URL
  http://mobile.example.com from frame with URL 
  http://ad.doubleclick.net/adi/interactive.example.com/front_sub;sz=320x50;ord=7340930261983.
  Domains, protocols and ports must match.
  05-26 10:44:15.274: E/Web Console(1916):  at null:1

我希望能够捕获这些错误并以某种方式处理它们。例如发出消息或与我的应用程序相关的任何内容,实际处理在这一点上与核心问题无关:

有没有办法捕获这些错误?即以某种方式可以通知我的应用程序?

注意:这不是一个Javascript问题。我不是在编程网站。我正在访问现有的网站,其实施不受我的控制。这是一个WebView问题(目前在Android环境中,但也可以在其他能够托管WebView的环境中)。

2 个答案:

答案 0 :(得分:5)

你有一个网站的例子吗?

您应该能够覆盖WebChromeClient.onConsoleMessage(ConsoleMessage consoleMessage).

答案 1 :(得分:0)

我建议谷歌为Debugging Web Apps

提供此示例

请注意,只有" part1"当您在console.log函数中提供以逗号分隔的参数列表时显示,这是一段用于测试的JavaScript代码:

console.log("part1","part2");

结果将是:

part1 -- From line 1 of http://example.js10/test.js