如何使用Swift打开MacOS特定网址的webview窗口

问题描述 投票:0回答:1

我一直试图用url(www.google.com)用各种代码获取webview,但没有运气,也有问题我正在将我的webview与故事板上的视图控制器连接,所以将共享代码所以请帮助我完成了这项任务。

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.
        }
    }

}
swift xcode macos
1个回答
1
投票

您需要设置PolicyDelegate并覆盖方法委托。

override func viewDidLoad() {
        super.viewDidLoad()

        webView.policyDelegate = self

        webView.mainFrame.loadRequest(NSURLRequest(URL: YOUR_URL_OBJECT))

    }

委托方法

webView:decisionPolicyForNewWindowAction:request:newFrameName:decisionListener:webView:decisionPolicyForNavigationAction:request:frame:decisionListener:

© www.soinside.com 2019 - 2024. All rights reserved.