2011-11-21 51 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;