我正在尝试拦截WKWebView
中的链接点击,并根据网址,在外部浏览器中打开链接或像往常一样将其加载到网络视图中。
首先想到的方法是覆盖decidePolicyForNavigationAction
中的WKNavigationDelegate
,但即使在“虚拟地址栏”(网络视图的url
属性)没有“改变,例如各种跟踪和广告请求。
答案 0 :(得分:1)
此方案是webView(_:decidePolicyFor:decisionHandler:)
包含WKNavigationAction
参数的原因,该参数提供有关触发请求的内容的信息。该类的navigationType
属性是一个包含linkActivated
,formSubmitted
等可能值的枚举,以告诉您为什么要求您决定策略。检查一下,看看是什么触发了请求,然后根据这个做出决定。