我正在实现一个Web视图,以使用Web视图从我的应用程序中的URL加载内容。我希望带有target =“ _ blank”的网址应在浏览器中打开,否则只能在应用程序中打开。
我正在使用
url = NSURL (string: "\(urlBase)\(response![0].Message ?? "")")!
let requestObj = URLRequest(url: url as URL)
webVFAI.loadRequest(requestObj)
这会在应用程序中打开url,但我想如果我的URL包含目标=“ _ blank”,则应在浏览器中打开它。如何处理呢? 请指导
答案 0 :(得分:0)
我刚刚找到了解决方案。我只是检查了自己的pageid,以决定是在浏览器中还是在应用中打开网址 我使用了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;
}