我正在使用大量使用UIWebViews顯示從Web加載的內容的應用程序。大多數情況下,這種方式運行良好,但每過一段時間(尤其是3G),連接問題都會中斷加載。當UIWebView無法加載參考文件時檢測到
當它是主網頁視圖時,這不是問題,因爲在委託上調用了webView:didFailLoadWithError:。但是,頁面HTML包含一些引用其他Web資源的標籤,偶爾會發生初始請求,但其中一個後續請求會失敗。
看來我應該能夠觸發處理這些失敗與NSURLProtocol子類,但在initWithRequest:cachedResponse:客戶端:,我找不到一種方式來確定哪個UIWebView發射請求(所以我可以通知它的代表向用戶顯示一些東西)。當其中一個請求被觸發時(webView:shouldStartLoadWithRequest:navigationType:僅針對window.location.href分配和類似的主要文檔請求,而不是輔助請求),我無法找到被調用的委託方法。檢測其中一個次要請求失敗的最簡單方法是什麼(以及它試圖加載哪個URL以及哪個UIWebView正在創建它)?
沒有答案的相關問題:http://stackoverflow.com/questions/13061776/correlate-nsurlrequest-with-uiwebview – Arkaaito 2013-05-09 01:50:13
我們有同樣的問題。我們的HTML中有內容(圖像等)來自Amazon S3,有時它們不會加載。我們需要能夠檢測到這種情況。 – Gerry 2014-08-18 17:52:05