簡體   English   中英

我如何知道頁面未能加載到UIWebView中而不是被用戶“停止”?

[英]How do I know when a page has failed to load in UIWebView as opposed to being “Stopped” by the user?

我的應用程序中有一個UIWebView,用於提供Web瀏覽功能。

我的工具欄上有一個按鈕

-(void)stopLoading;

在UIWebView上。 問題在於,當此方法發送到Web視圖時,委托會收到

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;

信息。 伴隨此調用的錯誤是: 操作無法完成。 (NSURLErrorDomain錯誤-999。)

我還使用didFailLoad消息來判斷頁面是否實際加載失敗-在這種情況下,我會向用戶顯示html格式的消息,以向他們傳達此失敗信息。

因此,問題在於,如果用戶單擊“停止”按鈕,則會顯示錯誤頁面,而不是僅顯示在停止之前加載的頁面的任何部分。

我曾希望NSError.h包含一個可以與之進行比較的錯誤代碼枚舉-但似乎我必須根據對日志中出現的錯誤代碼的觀察來自行編寫-小於理想的,因為它們將來可能會改變...

任何建議都很好,謝謝。

這些錯誤代碼在Foundation.framework的NSURLError.h中定義

我能找到解決此問題的最佳方法是使用webView給出的錯誤代碼創建一個枚舉。

看起來他們並不會改變,但是如果這樣做,嗯-哼。

因此,現在,在失敗加載方法中,我僅將錯誤對象中的錯誤代碼與枚舉進行比較,就可以看到發生了什么-看起來像這樣:

typedef enum {  
    BrowserErrorHostNotFound = -1003,
    BrowserErrorOperationNotCompleted = -999,
    BrowserErrorNoInternetConnection = -1009
} BrowserErrorCode;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM