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
}
我的 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
}