首页 > 解决方案 > 检索 WKWebView 当前 URL 可可

问题描述

我正在创建一个网络浏览器。我有一个文本框,用户可以在其中输入他们想去的地方。我需要弄清楚当用户转到链接内的另一个链接时如何更新文本框。例如,如果用户想去 YouTube,他们点击了一个视频。我希望将 desiredWebsite 或 NSTextField 更新为当前网站。我红了多个教程说它与委托有关。我不知道该怎么做。

import Cocoa
import WebKit
class ViewController: NSViewController {
@IBOutlet weak var webview: WKWebView!
@IBOutlet var desiredWebsite: NSTextField!
@IBOutlet var goBackButton: NSButton!
@IBOutlet var goHomeButton: NSButton!
@IBOutlet var goForwardButton: NSButton!
override func viewDidLoad() {
    super.viewDidLoad()
    let initialurl = "https://google.com"
    let url = URL(string: String(initialurl))
    let request = URLRequest(url: url!)
    webview.load(request)
    desiredWebsite.stringValue = initialurl
}
@IBAction func desiredWebsiteOnTouch(_ sender: Any) {
    let gotoweb = desiredWebsite.stringValue
    let url = URL(string: String(gotoweb))
    let request = URLRequest(url: url!)
    webview.load(request)
    desiredWebsite.stringValue = gotoweb
}
@IBAction func goHomeOnTouch(_ sender: Any) {
    let gotohome = "https://google.com"
    let url = URL(string: String(gotohome))
    let request = URLRequest(url: url!)
    webview.load(request)
    desiredWebsite.stringValue = gotohome
}
@IBAction func goBackOnTouch(_ sender: Any) {
    let gotoback = ""
    let url = URL(string: String(gotoback))
    let request = URLRequest(url: url!)
    webview.load(request)
    desiredWebsite.stringValue = gotoback
}
override var representedObject: Any? {
    didSet {
    }
}
}

标签: swiftcocoawkwebview

解决方案


推荐阅读