2011-11-21 73 views
4

我从iPad的文档目录的子目录中加载了一些HTML/JS到UIWebView中。到目前为止一切正常。为了调试JS - 我已经把一些alert(..);语句放在JS文件中。在大多数情况下没有与此警报没有问题,但现在再有在控制台中引发错误和应用程序崩溃:UIWebView中的奇怪WebKit错误 - 可以抓住这个错误吗?

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警报()而崩溃;

谢谢

+0

有没有办法抓住WebKit错误并处理它们?我找不到关于errorDomain或Codes的信息。 – MadMaxAPP

+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;