如何使用Swift为MacOS打开带有特定url的webview窗口
我一直在尝试使用url(www.google.com)获取网络视图,但运气不好,而且在将我的网络视图与情节提要上的视图控制器链接时遇到问题,因此将共享代码,因此请帮助我完成此任务如何使用Swift为MacOS打开带有特定url的webview窗口,swift,xcode,macos,Swift,Xcode,Macos,我一直在尝试使用url(www.google.com)获取网络视图,但运气不好,而且在将我的网络视图与情节提要上的视图控制器链接时遇到问题,因此将共享代码,因此请帮助我完成此任务 import Cocoa import WebKit class ViewController: NSViewController { @IBOutlet weak var webView: WebView! //let webViewController = WebViewController(
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:DecisionPolicyFornewWindowAction:request:newFrameName:decisionListener:
webView:DecisionPolicyFornavigationAction:request:frame:decisionListener: