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 - 用于检测 URL 是否已更改的 WKWebView 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41213185/