2016-05-12 7 views
1

Open mobile Safari From a link in a webviewと同じ質問です。
上記の質問の回答は、Chromeから開くことができると述べています。
また、このquestionは解決策を提供しますが、上記のiOS 8のwebviewでは機能しません。アプリのWebViewでURLをクリックしてモバイルSafariを開くことはできますか?

しかし、私が達成したいのは、アプリのwebviewのURLをクリックしてモバイルSafariを開くことです(Gmailクライアント、whatsapp、facebook messenger ...など)。

質問をより明確にするために、ユーザーのシナリオを説明します。


は私がサイトのリンクを持つウェブサイトを持っています。ユーザーは、Gmailのアプリ、Facebookのメッセンジャーまたはwhatsappで自分のウェブサイトのURLを受け取ることがあります。ユーザーが自分のウェブサイトのURLをクリックすると、そのサイトはアプリのウェブビューに直接表示されます。ユーザーがサイトのリンクをクリックすると、私の代わりにWebViewの中での滞在を私ははサファリが提供する機能をスクリーニングするために、追加必要があるので、それはサイトモバイルSafariのを開くことを願っているので、ユーザーホーム画面にAのサイトをより便利に追加できます。


safari://xxxのようなURLスキームはありません。この目的を達成するには、JavaScriptまたはHTMLの方法がありますか?
ネットで検索しましたが、上記のiOS 8で動作するソリューションが見つかりませんでした。
何か提案がありがとうございます。どうもありがとう!

答えて

1

はいです。

があなたのWebViewにデリゲートを追加し、次の方法で実装します。以下のように

optional func webView(_ webView: UIWebView, 
shouldStartLoadWithRequest request: NSURLRequest, 
    navigationType navigationType: UIWebViewNavigationType) -> Bool 

を:あなたの返信用

func webView(webView: UIWebView, request: NSURLRequest,navigationType: UIWebViewNavigationType) -> Bool { 

//Check if the URL is the one you want in mobile safari 
if request.URL.absoluteString == THE_URL_TO_OPEN_IN_MOBILE_SAFARI { 
     UIApplication.sharedApplication.openURL(request.URL) 
     return false 
    }else{ 
     return true 
    } 
} 
+0

おかげで、これは私が欲しいものではありません。申し訳ありませんが私の質問の私の不明な説明。私は私の質問を更新しました。それがより明確であることを望む。 –

+0

ああ、私はあなたの質問が何であるか分かりました。私はより多くのHTML/javascriptの質問今思う:) – CZ54