我的 iOS 11+ 应用程序中有一个 WKWebView,我需要从本地内存中的 HTML 加载自定义 HTML。我可以通过使用webView.loadHTMLString
or来实现这一点webview.load(data)
,它工作正常。
此 HTML 引用了一些必需的 .js/.css/.png 文件。对于普通的 Web URL 请求,WKWebView 会即时执行此操作,加载丢失的文件。但在这种情况下,我需要拦截这些请求,并提供文件内容,因为其中一些需要动态生成。因此,我需要服务的 .css 文件等实际上并不作为本地文件存在。
我认为这只是实现协议decidePolicyFor
方法的问题WKNavigationDelegate
,但由于某种原因,本地子请求不会触发它,那么我该如何实现呢?
我还尝试将 HTML 保存为本地临时文件并使用 加载它webView.load(URLRequest)
,但这也不会触发委托。如果它是一个 Web URL,它会触发正常。