2015-11-05 113 views
4

如何爲WKWebView寫入超時處理程序,當默認代表未被didFailNavigation調用時。如何爲WKWebview添加超時值

WKWebView代表被設置& DidFinishNavigationdidFailProvisionalNavigation被調用。

回答

1

使用此委託方法

webView:didFailProvisionalNavigation:withError: 

文獻時同時開始加載數據的主幀中發生錯誤

調用。

並檢查錯誤代碼

NSURLErrorTimedOut = -1001 

所有錯誤code list

+0

即使該委託不獲取調用。 – Anand

+0

單挑:當我請求一個無效的URL並且收到一個NSURLErrorTimedOut時,該代理方法被調用需要一分多鐘 – eskimwier

9

使用error.code值的誤差的那個didFailProvisionalNavigation創建並添加你的 '處理' 的代碼有:

func webView(webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError) { 

     if error.code == -1001 { // TIMED OUT: 

      // CODE to handle TIMEOUT 

     } else if error.code == -1003 { // SERVER CANNOT BE FOUND 

      // CODE to handle SERVER not found 

     } else if error.code == -1100 { // URL NOT FOUND ON SERVER 

      // CODE to handle URL not found 

     } 
    } 
1

一個可能的解決方案是添加自定義定時器,開始您撥打loadHTMLloadRequest方法和超時自定義間隔