2017-02-07 31 views
0

我做了一個iOS應用程序與Xcode一個Swift。所有超鏈接都在應用程序自己的WebView中打開。但我希望能夠在Safari瀏覽器中打開特定的超鏈接。Xcode WebView;打開超鏈接外部如果特定的URL獲取參數

我想打開所有包含target=external的超鏈接,在Safari瀏覽器中獲取像這樣的參數www.example.com/?target=external

原因我不是很有經驗我不知道如何開始。

任何人都可以給我一個提示,樣本或鏈接?謝謝!

+0

看一看web視圖委託方法,[WKWebView](https://developer.apple.com/reference/webkit/wknavigationdelegate)或[UIWebView中](https://developer.apple.com/參考/ uikit/uiwebviewdelegate) – rckoenes

回答

1
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 
} 
+0

嗨,謝謝你的回答。如果使用多個參數,是不是更容易使用以下內容?代碼:'if url.query!.rangeOfString(「target = external」)!= nil {}' – user7128548

+0

是的,你也可以使用它,它不需要其他參數。 –

+0

好的,你的意思是後面的代碼嗎?我的還是你的? – user7128548