2015-11-05 1724 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方法和超时自定义间隔