【发布时间】:2023-03-03 15:23:01
【问题描述】:
我正在使用WKWebView,并且我有导航(请求/响应)的委托方法,并且一切正常。出于某种原因,有些广告根本不会触发该功能。知道为什么吗?我什至无法检查 URL 以了解发生了什么。
我只得到WKContentView[@] set up: @ pid: @ MACH_PORT
如果得到一个带有标题的弹出菜单,则在模拟器上:
JavaScript 和选项:打开/取消
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void)
我可以在配置中使用一些东西吗?
谢谢
【问题讨论】:
-
你可以添加观察者
webView.addObserver(self, forKeyPath: "URL", options: [.new, .old], context: nil)然后override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {print(change?[.newKey],change?[.oldKey])} -
由于某种原因它没有被观察者触发,我尝试了不同的解决方案来触发它
-
@canister_exister 我设法通过类似的解决方案获得了网址,因此感谢您的帮助。现在我只需要弄清楚为什么它没有触发委托方法。
-
decidePolicyFor 并不总是适用于重定向