我做了一個iOS應用程序與Xcode一個Swift。所有超鏈接都在應用程序自己的WebView中打開。但我希望能夠在Safari瀏覽器中打開特定的超鏈接。Xcode WebView;打開超鏈接外部如果特定的URL獲取參數
我想打開所有包含target=external
的超鏈接,在Safari瀏覽器中獲取像這樣的參數www.example.com/?target=external
。
原因我不是很有經驗我不知道如何開始。
任何人都可以給我一個提示,樣本或鏈接?謝謝!
我做了一個iOS應用程序與Xcode一個Swift。所有超鏈接都在應用程序自己的WebView中打開。但我希望能夠在Safari瀏覽器中打開特定的超鏈接。Xcode WebView;打開超鏈接外部如果特定的URL獲取參數
我想打開所有包含target=external
的超鏈接,在Safari瀏覽器中獲取像這樣的參數www.example.com/?target=external
。
原因我不是很有經驗我不知道如何開始。
任何人都可以給我一個提示,樣本或鏈接?謝謝!
You can use below code to check
if (url.query == target=external)
{// open in safari
UIApplication.sharedApplication().openURL(url)
}else{
//open in web view in app
}
// Note if you are exepecting more than 1 parameter in url you can use componentSeperatedbyString method
var paramArry = url.query.componentsSeparatedByString("&")
if (paramArry[0] == target=external)
{// open in safari
UIApplication.sharedApplication().openURL(url)
}else{
//open in web view in app
}
嗨,謝謝你的回答。如果使用多個參數,是不是更容易使用以下內容?代碼:'if url.query!.rangeOfString(「target = external」)!= nil {}' – user7128548
是的,你也可以使用它,它不需要其他參數。 –
好的,你的意思是後面的代碼嗎?我的還是你的? – user7128548
看一看web視圖委託方法,[WKWebView](https://developer.apple.com/reference/webkit/wknavigationdelegate)或[UIWebView中](https://developer.apple.com/參考/ uikit/uiwebviewdelegate) – rckoenes