我遇到了 WKWebView
的一些奇怪行为。
如果我在初始化 webView 后立即使用 loadFileURL(_ URL: URL, allowingReadAccessTo readAccessURL: URL)
加载 .webarchive 文件,它运行良好,但是当我使用 load 加载一些网页内容时(_ request: URLRequest)
然后尝试使用前面提到的方法加载文件然后我在 webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error)
中收到错误委托(delegate)方法:
[ProcessSwapping] 0x10af34160 - ProvisionalPageProxy::didFailProvisionalLoadForFrame:pageID = 1,frameID = 1,navigationID = 4
我通过重新创建 WKWebView
实例暂时解决了这个问题,以防当前 webView url 方案不是 file
时加载带有 file
方案的 URL。在我看来,这是 Not Acceptable 。
在研究过程中,我猜测这种行为与对某些资源的许可有关。甚至 loadFileURL
方法都有 readAccessURL
参数,它可能没有更新。
最佳答案
我不确定我是否正确理解了您的问题。
您的“webView(_:decidePolicyFor:decisionHandler:)”函数似乎将其视为 http/https URL。因此,您应该在函数内将其指定为类似于 http/https URL。
关于ios - 如果先前已加载某些网页,WKWebView 不会加载 .archive 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57045208/