2013-07-31 7 views
13

iOSでCordova 3.0を使用している場合、デバイスのネイティブブラウザでリンクを開くにはどうすればよいですか?Cordova 3.0 - iOSの外部ブラウザで開くリンク

人々はwindow.open(url, "_system")を使用することを提案しましたが、これはCordova 3.0では機能しません。

私の試み

if(navigator.app) // Android 
    navigator.app.loadUrl(url, {openExternal:true}) 
else // iOS and others 
    window.open(url, "_system") // opens in the app, not in safari 

はコルドバ3.0で動作するソリューションの人を知っていますか?
おかげ

+0

$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git $ cordova plugin rm org.apache.cordova.core.inappbrowser 

とあなたの.jsファイルでプラグインを実行しますブラウザ:http://stackoverflow.com/questions/32208609/cordova-why-would-inappbrowser-plugin-be-required-to-open-links-in-system-brows/32227524 –

答えて

19

:あなたは今、デバイスレベルのプラグイン、inAppBrowserを必要とする仕事にwindow.open('somelink', '_system')を作ります。ここで3.0のドキュメントからコルドバ3.0のようなインストール手順

である:

バージョン3.0のように、コルドバは、プラグインとしてデバイスレベルのAPIを実装します。プロジェクトのためにこの機能を追加または削除するには、コマンドラインインターフェイスで説明し、CLIのプラグインコマンドを使用します。

$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git 
$ cordova plugin rm org.apache.cordova.core.inappbrowser 

これらのコマンドは、すべての対象プラットフォームに適用されますが、下記のプラットフォーム固有の構成設定を変更します。

iOSが

<feature name="InAppBrowser"> 
    <param name="ios-package" value="CDVInAppBrowser" /> 
</feature> 

(config.xmlで)私はこれをテストし、それが動作します。

+8

InAppBrowserプラグインが表示されます'_system'リンクも扱うことができます([http://cordova.apache.org/docs/ja/3.1.0/cordova_inappbrow ser_inappbrowser.md.html#window.open](http://cordova.apache.org/docs/en/3.1.0/cordova_inappbrowser_inappbrowser.md.html#window.open)) –

+0

これは正しいです。私はそれに言及するのを忘れていた。 – dannytenaglias

+0

@dannytenagliasはあなたの答えにそれを入れます。何かが好きです:注: 'window.open( 'somelink'、 '_system')'を動作させるには、デバイスレベルのプラグインinAppBrowserが必要です。 Cordova 3.0以降のインストール手順は次のとおりです。 –

4

InAppBrowserプラグインをインストール:外部でのWebViewで `_self`、と` _blank`を開くには、ここで私の2015年の答えをチェックし

//exec(successCallback, errorCallback, pluginName, pluginMethod, params) 
cordova.exec(null, null, "InAppBrowser", "open", [url, "_system"]); 
関連する問題