iOS·WKWebView明明加载成功或闪现,但提示空白或错误等等

  • 问题代码
-(void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error
{
    //弹出空白提示视图
}
  • 问题原因

这是因为代理方法中检测到了NSError其中的一个NSURLErrorDomain类型的错误:NSURLErrorCancelled = -999

  • 官方解释

如下所示,打开Dash,查阅到官方的说明:异步请求被取消。


iOS·WKWebView明明加载成功或闪现,但提示空白或错误等等_第1张图片
官方解释
  • 可能情况

可能的情况是:先加载我们设置好的第一个请求,然后网页在第一个请求完成之前,另外加载了一个URL(即使相同的URL重新加载)。

也许是有部分第三方的网页的确有这种重定向,或者自动跳转的问题。另外,也有朋友指出是App没有第三方HTTPS网页信任的证书。解决办法可参考这两篇:

  • https请求处理方式:信任一切证书
  • iOS HTTPS证书不受信任解决办法

对于可能会打开一些任意的,不可控的第三方网页的情况,只能选中忽略这种错误。

  • 解决方案

取出error,专门忽略这种错误。

-(void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error
{
    if (error.code==-999) {
        return;
    }
    //balabala...
}

你可能感兴趣的:(iOS·WKWebView明明加载成功或闪现,但提示空白或错误等等)