shr*_*tim 8 ios swift wkwebview
在我的控制器中,我调用了WKWebViewInstance.loadRequest(url).如果没有可用的Internet,我想在WKWebView中加载错误消息.
我发现了
func webView(webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError)
Run Code Online (Sandbox Code Playgroud)
当WKWEbView导航失败而没有互联网连接时被调用.当我在上面的委托方法中进行webView.loadHtmlString()调用时,没有任何反应.
如何在发出WKWEbView导航请求时检测到网络连接不存在,并将固定错误消息加载到Web视图中?
我的委托方法代码是
func webView(webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError) {
webView.stopLoading()
webView.loadHTMLString(Constants.OfflineHtmlString!,baseURL: nil)
}
Run Code Online (Sandbox Code Playgroud)
Sub*_*bbu 11
如果需要在未连接到互联网时向用户显示错误信息,
您甚至可以在加载请求之前检查您是否已连接到互联网; Reachability是一个流行的API,通常有助于检查这一点.这里似乎有一个快速的端口https://github.com/ashleymills/Reachability.swift
我建议采用上述方案; 如果你仍然想让它失败然后显示错误,请确保你的正确性OfflineHtmlString并在加载之前验证错误代码OfflineHtmlString;
我不知道你的html字符串是否有效; 如果它有效,我会做类似下面的事情;
func webView(webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError) {
if(error.code == NSURLErrorNotConnectedToInternet){
webView.loadHTMLString(Constants.OfflineHtmlString!,baseURL: nil)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8047 次 |
| 最近记录: |