在我的iOS應用中有一個簡單的UIWebView。超鏈接通常在我的應用程序本身中打開。但是我想在外部標準瀏覽器(Safari)中打開一個超鏈接。iOS WebView:在外部瀏覽器中打開單個超鏈接
我想象一下like <a href="http://example.com" target="_safari">
。
有沒有這樣的事情?
我無法對應用程序本身進行更改。我必須在我的網站上做到這一點!
在我的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>
缺少一個報價,我猜:'Google'。但仍然在應用程序本身開放。 – user7128548
謝謝,我忘了說:我不能做的應用程序本身的變化。我必須在我的網站上做到這一點! – user7128548