[英]how do I perform tasks before loading a webview url in ios?
所以在 ios webview 中加载 url 之前,我似乎无法找到执行某些任务的方法。 就像在 android 中一样,我们可以使用 shouldOverrideUrlLoading。
@Override
public boolean shouldOverrideUrlLoading(final WebView view, String url) {
///sometask
}
但我找不到在 ios 中执行类似操作的 function。 假设用户点击了 webview 内的 href 标签,将其带到不同的页面,我怎么知道该标签会将用户带到哪个链接? 在更改页面之前。
基本上我想检查网页即将加载的 url 并根据 url 执行额外的步骤。
您可以使用 WKNavigationDelegate
在 viewDidLoad 中设置 navigationDelegate
self.webView?.navigationDelegate = self
在下面的 navigationDelegate 方法中观察 URL。
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) {
DispatchQueue.main.async {
if let urlString = navigationAction.request.url?.absoluteString{
print(urlString)
}
}
decisionHandler(.allow)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.