【问题标题】:Grab loaded webpage URL? WKWebView macOS抓取加载的网页网址? WKWebView macOS
【发布时间】:2019-10-27 16:31:15
【问题描述】:
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
self.urlText.stringValue = String(describing: webView.url!)
}
这在 100% 的情况下都不起作用。
当我导航到 reddit 时就是一个例子。我单击一个线程,它会更改 URL,这很好,但如果我单击 reddit 主页按钮,即使在 100% 加载后,它也不会将 URL 更改为 www.reddit.com。
感谢任何帮助。
【问题讨论】:
标签:
swift
macos
wkwebview
【解决方案1】:
您的视图控制器中还发生了什么?我无法使用下面的代码重现您的问题。您是否在一个孤立的项目中尝试过这个?
import Cocoa
import WebKit
class ViewController: NSViewController {
@IBOutlet weak var webView: WKWebView!
@IBOutlet weak var urlLabel: NSTextField!
override func viewDidLoad() {
super.viewDidLoad()
let req = URLRequest(url:
URL(string: "https://reddit.com")!)
webView.load(req)
}
@IBAction func getUrlClicked(_ sender: Any) {
guard let url = webView.url else { return }
urlLabel.stringValue = url.absoluteString
print("url: \(String(describing: webView.url!))")
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
}