在 macOS 中使用 WKWebView 加载 URL

Posted

技术标签:

【中文标题】在 macOS 中使用 WKWebView 加载 URL【英文标题】:Loading a URL with a WKWebView in macOS 【发布时间】:2017-11-24 03:35:06 【问题描述】:

我在 ViewController 中使用以下代码制作了一个全新的 mac 应用程序项目。

import Cocoa
import WebKit

class ViewController: NSViewController 

    var loginWebView: WKWebView!

    override func viewDidLoad()
    
        super.viewDidLoad()

        self.loginWebView = WKWebView(frame: self.view.frame)

        self.view.addSubview(loginWebView)

        let urlReq = URLRequest(url: URL(string: "https://apple.com/")!)

        self.loginWebView.load(urlReq)


        // Do any additional setup after loading the view.
    

    override var representedObject: Any? 
        didSet 
        // Update the view, if already loaded.
        
    

由于某种原因,当我启动应用程序时,Web 视图没有加载网站。为什么是这样?我多年来一直在 ios 上进行开发,现在才刚刚开始使用 macOS。

编辑:更新加载本地文件也不起作用

self.loginWebView.loadFileURL(fileURL, allowingReadAccessTo: dirURL)

【问题讨论】:

【参考方案1】:

问题是我没有在应用程序的沙盒设置中启用传入和传出连接。我通过恢复使用旧版 WebView 然后在控制台中获取错误代码发现了这一点。 WKWebKit 不会打印错误消息,使一些非常简单的事情变得难以置信的困难和混乱!。苹果真的需要解决这个问题

【讨论】:

以上是关于在 macOS 中使用 WKWebView 加载 URL的主要内容,如果未能解决你的问题,请参考以下文章

WKWebview 在 macOS 上的默认浏览器中打开目标 =“_blank”链接

SwiftUI:WKWebView 在 macOS 上截断页面内容(NSViewRepresentable)

如何在 wkwebview 中下载文件

macOS WKWebView 背景透明度

如何检查 wkwebview 是不是在 UItest 中完成加载

macOS:SwiftUI:MenuItem 用于截取 WKWebView 的屏幕截图并将其保存到带有时间戳的 ~/Pictures?