在 swift 的网络视图中处理 target="_blank"

Handle target="_blank" in webview in swift

我正在实现一个 Web 视图,用于使用 Web 视图从我的应用程序中的 URL 加载内容。我希望带有 target="_blank" 的 url 应该在浏览器中打开,否则只能在应用程序中打开。

我正在使用

url = NSURL (string: "\(urlBase)\(response![0].Message ?? "")")!
            let requestObj = URLRequest(url: url as URL)
            webVFAI.loadRequest(requestObj)

这会在应用程序中打开 url,但我希望如果我的 url 包含目标 ="_blank",它应该在浏览器中打开它。如何处理? 请指导

我刚刚找到了解决方案。我刚刚检查了我的 pageid 以决定是在浏览器中还是在应用程序中打开 url 我使用了 shouldStartLoadWith 函数

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
    if(condition) {
    switch navigationType {
    case .linkClicked:
        guard let url = request.url else { return true }
        if #available(iOS 10.0, *) {
            UIApplication.shared.open(url, options: [:], completionHandler: nil)
        } else {
            UIApplication.shared.openURL(url)
        }
        return false // opens in browser
    default:
        return true // opens in app
    }
  }
    return true;
}