ios – 如何使用WKWebView正确实现didFailProvisionalNavigation?

ios – 如何使用WKWebView正确实现didFailProvisionalNavigation?,第1张

概述我正在创建一个Web浏览器,并且像其他所有Web浏览器一样,我想告知用户网页加载失败时发生的错误. 目前,我正在didFailProvisionalNavigation方法中显示错误的localizedDescription.就这样! - (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation *) 我正在创建一个Web浏览器,并且像其他所有Web浏览器一样,我想告知用户网页加载失败时发生的错误.

目前,我正在dIDFailProvisionalNavigation方法中显示错误的localizedDescription.就这样!

- (voID)webVIEw:(WKWebVIEw *)webVIEw dIDFailProvisionalNavigation:(WKNavigation *)navigation withError:(NSError *)error{    [self presentError:error.localizedDescription animated:YES];    [_delegate webVIEwDIDFailNavigation:self error:error];}

presentError方法处理与问题无关的一些自定义UI内容.

上述方法非常适合显示常见错误,例如:

>互联网连接似乎处于脱机状态.
>找不到具有指定主机名的服务器.

但它也会显示一些不寻常的错误,例如:

>无法完成 *** 作(NSURL ErrorDomain错误-999)

我不喜欢这种方法有两个原因:

>错误消息显示一些技术内容“NSURL”,但我可以忽略它.
>最重要的是,大多数情况下,当显示上述错误时,网页完全可用,但由于这是一个dIDFailProvisionalNavigation错误,我必须禁用该页面而不是出现错误.

我不知道可能发生的其他小错误,不应该像我处理它们那样处理.不幸的是,我不知道如何区分主要错误,如“连接似乎脱机”和轻微错误,如“ *** 作无法完成”.

处理导航故障的标准方法是什么?

解决方法 代替

webVIEw(_:dIDFailProvisionalNavigation:withError:)

你为什么不用这个?

webVIEw(_:dIDFail:withError:)

似乎只应在出现阻止网站显示内容的错误时调用,而不是在页面已经呈现并尝试加载下一页时调用.

总结

以上是内存溢出为你收集整理的ios – 如何使用WKWebView正确实现didFailProvisionalNavigation?全部内容,希望文章能够帮你解决ios – 如何使用WKWebView正确实现didFailProvisionalNavigation?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1001419.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存