WKWebView 弹出窗口在 MacOS 应用程序中不起作用

WKWebView popup is not working in MacOS app

我的 MacOS 应用程序中有 WKWebView。我在其中使用的 URL 在单击预览按钮时有一个模型弹出窗口。但是每当我点击预览按钮时,什么都没有发生。我尝试添加以下首选项代码但没有成功。

   let preferences = WKPreferences()
   preferences.javaScriptEnabled = true
   preferences.javaScriptCanOpenWindowsAutomatically = true

注意:您将无法点击网站上的一些链接,因为它们是 HTTP 而不是 HTTPS。默认情况下,WKWebView 会阻止所有不安全的 HTTP 请求。

要绕过,只需在 info.plist 文件中将 NSExceptionAllowsInsecureHTTPLoads 添加为 true。

override func loadView() {
    webView = WKWebView(frame: .zero, configuration: WKWebViewConfiguration())
    webView?.uiDelegate = self
    webView?.navigationDelegate = self
    view = webView
}

func webView(_: WKWebView, createWebViewWith _: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures _: WKWindowFeatures) -> WKWebView? {
    self.webView?.load(navigationAction.request)
    return nil
}