如何使用 Swift 打开具有特定 URL 的 MacOS 网页视图窗口



我一直在尝试使用带有各种代码的url(www.google.com(获取Webview,但没有运气,而且存在问题,我将我的Web视图与故事板上的视图控制器链接在一起,因此将共享代码,因此请帮助我完成此任务。

import Cocoa
import WebKit
class ViewController: NSViewController {
    @IBOutlet weak var webView: WebView!
    //let webViewController = WebViewController()

    override func viewDidLoad() {
        super.viewDidLoad()
        //let url = "http:www.google.com"
        //self.webView.mainFrame.loadRequest(NSURLRequest(URL: NSURL(string: url)! as URL))
        let url = NSURL (string: "http://www.google.com")
        let requestObj = NSURLRequest(url: url! as URL)
        webView.mainFrame.load(requestObj as URLRequest)
        /*
        //Open in browser
        if let url = URL(string: "https://www.google.com"), NSWorkspace.shared().open(url) {
            print("default browser was successfully opened")
        }
        */
    }
    override var representedObject: Any? {
        didSet {
            // Update the view, if already loaded.
        }
    }
}

您需要设置 PolicyDelegate 并重写方法委托。

override func viewDidLoad() {
        super.viewDidLoad()
        webView.policyDelegate = self
        webView.mainFrame.loadRequest(NSURLRequest(URL: YOUR_URL_OBJECT))
    }

委托方法

webView:decisionidePolicyForNewWindowAction:request:newFrameName:decisionListener: webView:decisionidePolicyForNavigationAction:request:frame:decisionListener:

最新更新