拦截WKWebView中的链接点击

时间:2018-02-08 15:59:38

标签: ios wkwebview

我正在尝试拦截WKWebView中的链接点击,并根据网址,在外部浏览器中打开链接或像往常一样将其加载到网络视图中。

首先想到的方法是覆盖decidePolicyForNavigationAction中的WKNavigationDelegate,但即使在“虚拟地址栏”(网络视图的url属性)没有“改变,例如各种跟踪和广告请求。

1 个答案:

答案 0 :(得分:1)

此方案是webView(_:decidePolicyFor:decisionHandler:)包含WKNavigationAction参数的原因,该参数提供有关触发请求的内容的信息。该类的navigationType属性是一个包含linkActivatedformSubmitted等可能值的枚举,以告诉您为什么要求您决定策略。检查一下,看看是什么触发了请求,然后根据这个做出决定。