UIWebView中奇怪的WebKit错误 - 这可以被捕获吗?

时间:2011-11-21 12:49:13

标签: javascript ios uiwebview webkit crash

我正在将一些HTML / JS从我在iPad上的文档目录的子目录中加载到UIWebView中。到目前为止一切正常。为了调试JS - 我在JS-File中添加了一些alert(..);语句。大多数情况下此警报没有问题,但是在控制台和应用程序崩溃时偶尔会出现错误:

WebKit discarded an uncaught exception in the webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame: delegate: <(null)> A route has already been registered for class 'Publication' and HTTP method 'ANY'

问题1:可能是什么问题?我的意思是......这是一个简单的警报();什么似乎在控制台中导致此错误。

问题2:我可以在我的应用程序中捕获此错误吗?这样,由于简单的JS alert();

,应用程序不会崩溃

谢谢

1 个答案:

答案 0 :(得分:1)

您可以为UIWebView类创建JavaScriptAlert类别。 JavaScriptAlert + UIWebView.h

覆盖方法:

- (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(id)frame;

这应该处理来自JavaScript的警报。

然后在javascript方面,如果你没有在调试模式下运行,你可以将警报或控制台日志设置为无操作功能。像

这样的东西
var noop = function () {};
console.log = noop;
window.alert = noop;