WKWebView 类是否有一个函数可以让您检测该 WebView 的 URL 何时发生更改?
在处理 WebView 中的某些元素时,didCommit
和 didStartProvisionalNavigation
函数似乎并不总是会触发。
编辑:尝试添加通知观察者。这是我到目前为止所得到的:
extension Notification.Name {
static let checkURL = Notification.Name("checkURL")
}
NotificationCenter.default.post(name: .checkURL, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(getter: webView.url), name: .checkURL, object: webView.url)
最佳答案
Swift 版本
// Add observer
webView.addObserver(self, forKeyPath: "URL", options: .new, context: nil)
// Observe value
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if let key = change?[NSKeyValueChangeKey.newKey] {
print("observeValue \(key)") // url value
}
}
关于ios - WKWebView 函数用于检测 URL 是否已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41216099/