2016-03-21 27 views
0

私はMeteor(v 1.2.0.2)角型モバイルアプリを持っており、外部のウェブページへのリンクが必要ですが、リンクはアンドロイドまたはiosで開かないでしょう。コルドバ - プラグイン:研究の後、私は私が Meteor angular iosアプリで外部リンクを開く方法は?

How to get links to open in the native browser in iOS Meteor apps?

私は

流星はコルドバ追加inAppBrowserプラグインを追加するための答えの1からこれを使用inAppBrowser

呼ばコルドバのプラグインを追加することができ、この質問は見つかり-inappbrowser @ https://github.com/apache/cordova-plugin-inappbrowser/tarball/bc9036d90a1f3f2220b5fc29b77cf2405e7fd781

その後、私のリンクは私のアンドロイド上で動作しましたが、私のipadでは動作しませんでした。ここで

は私のhtmlは、広告のカウント方法は、私がクリックするたびに動作しますが、window.openは思えませんiPadの

<a ng-click="adClick(pageAd.link, pageAd._id)"> 
    <img ng-src="/images/ads/{{pageAd.src}}" alt="{{pageAd.alt}}" /> 
</a> 
私のコントローラで

と機能

$scope.adClick = function(url, adId) 
{ 
    $meteor.call("incrementAdCount", adId).then(
    function(data){ 
     window.open(url, "_system"); 
    }, 

    function(error) { 

    } 

); 

} 

です何をするにも。アンドロイドではすべて動作します。

iosリンクを動作させるために、inAppBrowserでmeteorで行う必要がある追加設定はありますか?私はそれがシンプルでなければならないように感じるが、何時間もの検索の後、私は流星のためにほとんど何も見つけることができないので、間違った場所を探しているかもしれない。

また、$ wind.openを使って試しましたが、アンドロイドでもiosでは動作しませんでした。

私は流星を探しているときに助けにならなかったので、私はcordovaのプラグインを調べることにしました。コルドバinAppBrowserプラグインのreadmeでは、私はこれを見つけた:

「アプリ内のすべてのページのロードがInAppBrowserを通過する場合、あなたは、単に初期化時にwindow.openをフックすることができます例:」

document.addEventListener("deviceready", onDeviceReady, false); 
function onDeviceReady() { 
    window.open = cordova.InAppBrowser.open; 
} 

しかし、流星プロジェクトでコードバ変数を使用する場所はどこでも定義されていません。これは流星でも利用可能ですか?そして、もし私がそれをする必要があれば、なぜアンドロイドでそれをやっていないのですか?

私の主な質問は、モバイルiosアプリでリンクを開くには他に何が必要なのでしょうか?

+0

あなたの設定にこのプラグインがありますか?<プラグイン名= "InAppBrowser" value = "CDVInAppBrowser" /> –

+0

@SteveKennedy流星はあなたのパッケージに基づいてあなたのために設定ファイルを作ります。モバイルビルドで生成されたconfig.xmlファイルで、このタグが見つかりました。 pope12

答えて

0

解決策を見つけました。私はcordovaビルドのフォルダ(私はそこに何かを変更する必要はないと思ったが、私は周りを見回して物事を把握するために思った)を通過し始めた。プロジェクト名に2つのフォルダがあることがわかりましたが、私がプロジェクトに持っていた古い名前(私は最近名前を変更しました)でした。

メテオからモバイルビルドを実行すると古いファイルは削除されず、新しいビルドが生成するファイルが上書きされることに気付きました。私は以前のビルドからまだそこにあったいくつかのフォルダとファイルをビルドに持っていました。だから私はそれを上書きしてプロジェクトを再構築するのではなく、モバイルビルド全体を削除して、私のリンクがうまくいった!

xcodeは私のプロジェクトをビルドしたときに古いファイルのいくつかを使用していたようで、古い設定はinAppBrowserを持っていないので動作しませんでした。

関連する問題