我正在使用WKWebView,并且已经设置了WKNavigationDelegate方法,一切看起来都很好。 delegate方法会响应,但不会像我希望的那样响应100%。

有些特定的ads不可点击。

not Clickable是指

`func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void)`

没有生火。

并且让URL的观察者至少看到哪种或URL仍然无法从那里得到结果。
mainWebView.addObserver(self, forKeyPath: #keyPath(WKWebView.url), options: .new, context: nil)

override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
        if keyPath == "estimatedProgress"{
            progressBar.progress = Float(mainWebView.estimatedProgress)
            print(Float(mainWebView.estimatedProgress))
        }
        if keyPath == #keyPath(WKWebView.url){
            print(mainWebView.url?.absoluteString)
        }

    }

我唯一得到的是从控制台
[Accessibility] WKContentView[@] set up: @ pid: @ MACH_PORT

任何想法.....或有类似问题的人?

谢谢

最佳答案

您应该注册如下处理程序:

[configuration.userContentController addScriptMessageHandler:self name:@"yourhandlerName"];

10-08 17:02