iOS WebView:在外部浏览器中打开单个超链接
问题描述:
在我的iOS应用中有一个简单的UIWebView。超链接通常在我的应用程序本身中打开。但是我想在外部标准浏览器(Safari)中打开一个超链接。iOS WebView:在外部浏览器中打开单个超链接
我想象一下like <a href="http://example.com" target="_safari">
。
有没有这样的事情?
我无法对应用程序本身进行更改。我必须在我的网站上做到这一点!
答
您可以使用UIWebViewDelegate
方法来实现。实现代理的以下方法
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
let urlStr = request.url?.absoluteString
if //urlStr is string you want {
//launch external browser
return false
}
return true
}
每次尝试在Web视图中加载URL时都会调用此方法。您可以比较您要加载的网址,如果匹配,则启动外部浏览器并返回false。
答
尝试这种方式
<a onclick="window.open('https://www.google.co.in/', '_system');" href="#">Google</a>
+0
缺少一个报价,我猜:'Google'。但仍然在应用程序本身开放。 – user7128548
谢谢,我忘了说:我不能做的应用程序本身的变化。我必须在我的网站上做到这一点! – user7128548