2016-12-29 223 views
0

在我的iOS應用中有一個簡單的UIWebView。超鏈接通常在我的應用程序本身中打開。但是我想在外部標準瀏覽器(Safari)中打開一個超鏈接。iOS WebView:在外部瀏覽器中打開單個超鏈接

我想象一下like <a href="http://example.com" target="_safari">

有沒有這樣的事情?

我無法對應用程序本身進行更改。我必須在我的網站上做到這一點!

回答

0

您可以使用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

0

嘗試這種方式

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

缺少一個報價,我猜:'Google'。但仍然在應用程序本身開放。 – user7128548

相關問題