2017-02-07 6 views
0

私はXcodeとSwiftのiOSアプリケーションを作成しました。すべてのハイパーリンクは、アプリ独自のWebViewで開きます。しかし、Safariブラウザで特定のハイパーリンクを外部に開くことができるようにしたい。Xcode WebView;特定のURLのパラメータを取得する場合は、外部のハイパーリンクを開きます

Safariブラウザでwww.example.com/?target=externalのようなパラメータを取得すると、target=externalを含むすべてのハイパーリンクを開きたいとします。

原因私はあまり経験はありません私はどのように起動するのか分かりません。

誰でも私にヒント、サンプル、リンクを教えてもらえますか?ありがとう!

+0

、WebViewのデリゲートメソッドを見てください[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

関連する問題