wkwebview - WKWebView - 在 goBack 操作上未调用 didFinishNavigation 或 decisionPolicyForNavigationResponse
问题描述
我不确定这是否是一种常见的行为,但是,[WKWebView goBack]
从 Back-Forward 列表导航到上一页。但是,在我的第一个后退操作中,它不调用didFinishNavigation
委托方法。
因此,如果这是通常的行为,那么如何在返回操作后检测到页面加载是否完成。
解决方案
我什至在模拟器上看到了这个。导航到 google.com,点击隐私,然后goBack
在页面正常加载时,导航报告失败并出现错误:
Error Domain=NSURLErrorDomain Code=-999 "(null)" UserInfo={NSErrorFailingURLStringKey=https://www.google.com/, NSErrorFailingURLKey=https://www.google.com/, _WKRecoveryAttempterErrorKey=<WKReloadFrameErrorRecoveryAttempter: 0x600003904e40>}
您需要做的是使用didFailNavigation:
委托方法捕获它并优雅地处理它(如果您看到像上面这样的一致错误,您甚至可以将其视为成功)。
推荐阅读
- spring - Spring Webflux 为 SSE 抛出 IOException
- python - 将一个 nd numpy 数组附加到现有的 csv 文件中
- r - ggplot2 - 在图形区域之外画线和注释文本
- c - C字符串递归堆栈复制或......?
- r - 使用 R 在图像文件中写入评论(元数据)
- spring-boot - 对于名称更复杂的 Spring Boot Starter,是否有命名建议?
- pandas - 熊猫根据另一列替换值条件
- python - SyntaxError:由于命令指令导致的 EOL 错误
- robocopy - robocopy 提供不相等数量的目录但相同数量的文件?
- ios12 - How Do I Hit Test A SubView's Layers?