2016-10-28 19 views
0

私は現在、外部Webアプリケーションのラッパーになるイオンアプリを構築しています。私がしたいことは、ユーザーが外部Webアプリケーションで場所を変更したときにリダイレクトされるURLを追跡できるようにすることです。cordova-inappbrowser-pluginで起動した外部サイトのURLを取得する

私のメインコントローラには、次のコードがあります。ユーザーが外部サイトでの場所を変更したとき

app.controller('MainCtrl', function ($rootScope) { 
    document.addEventListener("deviceready", onDeviceReady, false); 
    function onDeviceReady() { 
     // Now safe to use the Codova API 
     var url = "https://external-site/"; 
     var target = "_self"; 
     var options = "location=no"; 
     var ref = cordova.InAppBrowser.open(url, target, options); 
     ref.addEventListener('loadstart', function() { 
      console.log("loadstart"); 
     }); 
    } 
}); 

ページのロード時には、私は、イベントリスナーが起動してもらうかしないでください。私はターゲットを_systemと_blankに指してみましたが、それは私のために何の違いもありません。

誰かが私を助けることができますか?

ありがとうございます。

答えて

0

すべてのイベントがすべてのプラットフォームで常に発生するとは限りません。すべてのイベントを購読し、いくつかのデバッグ情報を出力してみてください。次に、さまざまなデバイス(iOS、アンドロイド)でテストし、発生したイベントを確認します。

$rootScope.$on('$cordovaInAppBrowser:loadstart', function(e, event){console.log('start')}; 
$rootScope.$on('$cordovaInAppBrowser:loadstop', function(e, event){console.log('stop')}); 
$rootScope.$on('$cordovaInAppBrowser:loaderror', function(e, event){console.log('err')}); 
$rootScope.$on('$cordovaInAppBrowser:exit', function(e, event){console.log('exit')}); 

ところで:私はこの

にapp.jsを変更、追加「空白のイオンスタートテスト」を実行し
+0

応答ありがとうございますが、上記のコードを使用すると、イベントが発生することはありません。 –

+0

奇妙な。私は問題なく使用しています。あなたは最新のイオン、コードワイン、プラグインにいますか?ブラウザやデバイスでテストしていますか? 'loadstart'はブラウザで起動しません。 'location = true'を設定してみてください。いくつかのイベントがいくつかのポイントで発生しないようにするために、いくつかの奇妙なものが見えたと思います。 – iCediCe

+0

簡単なテストでは、すべてのイベントが私のソニーのexperia xa(ogのロケーション設定に関係なく)、ion 1.3.2と最新のinAppBrowserプラグインで起動することがわかります。 – iCediCe

0

は非常に奇妙なプラグインを..私が行ったすべてだっアップデートイオンを、ここngCordova ...

を使用しています

を実行し、次に 'ionic run android'を実行すると、すべてのイベントが実行されます。

+0

私の問題は、 ionicでラップするのは別のWebアプリケーションであり、ナビゲーションがそこに発生したときに、古いWebアプリケーションがswiftとxcodeを使用して作成されたのと同じイベントを生成しないことがあります。 –

関連する問題