iOS WkWebKit中类似于Android WebView的onLoadResource函数的功能是通过WKNavigationDelegate协议的方法来实现的。其中,函数webView:decidePolicyForNavigationAction:decisionHandler:用于在开始加载新的web内容时执行,而函数webView:didFinishNavigation:则用于在web页面加载完成后执行。
代码示例:
// 在ViewController中设置WKWebView的代理为self
webView.navigationDelegate = self
// 实现WKNavigationDelegate协议的方法
extension ViewController: WKNavigationDelegate {
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
// 在开始加载新的web内容前执行的代码
decisionHandler(.allow) // 允许加载新页面
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
// 在web页面加载完成后执行的代码
}
}