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。

+0

谢谢,我忘了说:我不能做的应用程序本身的变化。我必须在我的网站上做到这一点! – user7128548

尝试这种方式

<a onclick="window.open('https://www.google.co.in/', '_system');" href="#">Google</a> 
+0

缺少一个报价,我猜:'Google'。但仍然在应用程序本身开放。 – user7128548