在我的控制器中,我调用了WKWebViewInstance.loadRequest(url) . 如果没有可用的Internet,我想在WKWebView中加载错误消息 .
我发现了
func webView(webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError)
当WKWEbView导航失败而没有互联网连接时被调用 . 当我在上面的委托方法中进行webView.loadHtmlString()调用时,没有任何反应 .
如何在发出WKWEbView导航请求时检测到网络连接不存在,并将固定错误消息加载到Web视图中?
我的委托方法代码是
func webView(webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError) {
webView.stopLoading()
webView.loadHTMLString(Constants.OfflineHtmlString!,baseURL: nil)
}
2 回答
如果需要在未连接到互联网时向用户显示错误信息,
您甚至可以在加载请求之前检查您是否已连接到互联网;
Reachability
是一种流行的api,通常有助于检查这一点 . 这里似乎有一个快速的港口https://github.com/ashleymills/Reachability.swift我建议采用上述方案;如果您仍希望允许它失败然后显示错误,请确保
OfflineHtmlString
的正确性并在加载OfflineHtmlString
之前验证错误代码;我不知道你的html字符串是否有效;如果它有效,我会做类似下面的事情;
Subbu对于swift4来说是正确的