swift - 如何使用 Swift 为 MacOS 打开具有特定 url 的 webview 窗口

标签 swift xcode macos

我一直在尝试使用各种代码获取带有 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/

相关文章:

ios - 如何从 UITableViewCell 中的 Switch 捕获事件?

swift - 警报控制消息和 NSURLSession

ios - 什么时候在 Objective-C 中删除 BOOL 属性?

java - Eclipse 在 Mac OSX 上启动失败

macos - Mac OSX的构建问题

ios - 以编程方式创建按钮并设置背景图像

ios - 如何使用 Audiokit 对原始值而不是 midi 音符进行排序

ios - 在 UICollectionView 中更改滚动方向

c++ - 目标文件是为比链接更新的 OSX 版本构建的

wpf - 丰富的 GUI OS X 框架?