gpt4 book ai didi

ios - WKWebView loadRequest 失败时加载自定义错误htmlString

转载 作者:搜寻专家 更新时间:2023-10-30 21:53:22 25 4
gpt4 key购买 nike

在我的 Controller 中,我调用了 WKWebViewInstance.loadRequest(url)。如果没有可用的互联网,我想在 WKWebView 中加载一条错误消息。

我发现了

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

当 WKWEbView 导航失败且没有互联网连接时被调用。当我在上面的委托(delegate)方法中调用 webView.loadHtmlString() 时,没有任何反应。

如何在发出 WKWEbView 导航请求时检测网络连接的缺失,并将固定的错误消息加载到 Web View 中?

我的委托(delegate)方法代码是

   func webView(webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError) {
webView.stopLoading()
webView.loadHTMLString(Constants.OfflineHtmlString!,baseURL: nil)
}

最佳答案

如果需要在未连接到互联网时向用户显示错误信息,

您甚至可以在加载请求之前检查您是否已连接到互联网; 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)
}
}

关于ios - WKWebView loadRequest 失败时加载自定义错误htmlString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31666444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com