我一直在尝试使用各种代码获取带有 url(www.google.com) 的 webview 但没有成功,而且还有问题 我面临着将我的 webview 与在 Storyboard 上查看 Controller 所以我会分享代码,所以请帮我完成这个任务。
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 并覆盖方法委托(delegate)。
override func viewDidLoad() {
super.viewDidLoad()
webView.policyDelegate = self
webView.mainFrame.loadRequest(NSURLRequest(URL: YOUR_URL_OBJECT))
}
委托(delegate)方法
webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener: webView:decidePolicyForNavigationAction:request:frame:decisionListener:
关于swift - 如何使用 Swift 为 MacOS 打开具有特定 url 的 webview 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49135563/