【发布时间】:2013-05-21 13:26:24
【问题描述】:
使用 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 的其他环境中)。
【问题讨论】:
-
注意: 这不是 WebView 问题。这是一个“我如何阅读日志?”问题。
-
快速搜索得到this。恐怕你不走运。
-
我认为 OP 不想阅读日志,我认为他想捕获生成日志消息的错误,并自己处理。
-
@shoerat 阅读其他应用程序的日志(甚至是系统日志)是一匹不同颜色的马:(1)这种类型的日志是在我的应用程序的上下文中收到的. (2) 我希望我不需要为了知道这个事件而拦截日志消息。我希望抛出某种类型的异常或 onReceivedError() 通知,类似于发生在 SSL 错误上的异常。这可能吗?
-
AFAIK 没有通知。您可以做的最好的事情是按照this SO thread 或更好的this open-source app 中的示例代码使用AsyncTask 监控LogCat。祝你好运。
标签: android webview android-webview