首页 > 解决方案 > WKWebView - 在 goBack 操作上未调用 didFinishNavigation 或 decisionPolicyForNavigationResponse

问题描述

我不确定这是否是一种常见的行为,但是,[WKWebView goBack]从 Back-Forward 列表导航到上一页。但是,在我的第一个后退操作中,它不调用didFinishNavigation委托方法。

因此,如果这是通常的行为,那么如何在返回操作后检测到页面加载是否完成。

标签: wkwebview

解决方案


我什至在模拟器上看到了这个。导航到 google.com,点击隐私,然后goBack在页面正常加载时,导航报告失败并出现错误:

Error Domain=NSURLErrorDomain Code=-999 "(null)" UserInfo={NSErrorFailingURLStringKey=https://www.google.com/, NSErrorFailingURLKey=https://www.google.com/, _WKRecoveryAttempterErrorKey=<WKReloadFrameErrorRecoveryAttempter: 0x600003904e40>}

您需要做的是使用didFailNavigation:委托方法捕获它并优雅地处理它(如果您看到像上面这样的一致错误,您甚至可以将其视为成功)。


推荐阅读