我正在使用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"];