【发布时间】:2019-04-03 22:51:38
【问题描述】:
我正在尝试使用 Swift Code for Xcode 在 macOS 上的默认浏览器中打开 WKWebview 打开外部链接 (target=_blank)。此代码仅用于下载 zip 或 nzb 链接文件,不起作用:
尝试
func webView(webView: WebView!, decidePolicyForNavigationAction actionInformation: [NSObject : AnyObject]!, request: NSURLRequest!, frame: WebFrame!, decisionListener listener: WebPolicyDecisionListener!) {
let url = request.URL!.absoluteString
if url.hasSuffix(".zip") || url.hasSuffix(".nzb") {
listener.ignore()
NSWorkspace.sharedWorkspace().openURL(request.URL!)
} else {
listener.use()
}
}
该代码不适用于 macosx 10.14 和 webview 上的 Webview 应用程序,并且 WebPolicyDecisionListener 已在 10.14 中弃用。
我希望 WKWebview 使用 Swift 打开外部链接 (target=_blank)。
【问题讨论】:
-
NSWorkspace.sharedWorkspace().openURL(request.URL!)是否在运行时执行? -
否,但 NSWorkspace.shared.open(request.url!) 将执行