2016-10-06 8 views
0

私のコントローラで$ windowサービスを使用しています。

ある時点で私はprevius URLを取得する必要があります。

どのように私は$ウィンドウサービスのprevius URL whithヘルプを得ることができますか?

+0

私の答えを見てください – user449689

答えて

-1

を:document.referrerを以前のURLを確認すること。

またはあなたの実行機能では、あなたが戻って行くために$locationChangeStartまたは$locationChangeSuccess

$scope.$on('$locationChangeStart',function(evt, absNewUrl, absOldUrl) { 
    console.log('start', evt, absNewUrl, absOldUrl); 
}); 

$scope.$on('$locationChangeSuccess',function(evt, absNewUrl, absOldUrl) { 
    console.log('success', evt, absNewUrl, absOldUrl); 
}); 
+0

私はdocument.referrerを使用しようとしましたが、私はemplty文字列を取得します。 – Michael

+0

@Michael:ここで$ locationChangeStartまたは$ locationChangeSuccessも聞くことができます。 – Thalaivar

0

次のイベントのいずれかを使用する必要があり、最後のルートを取得するには:URLが変更された後$locationChangeSuccessイベントが放送されている間

$scope.$on('$locationChangeStart',function(event, newUrl, oldUrl) { 
    //... 
}); 
$scope.$on('$locationChangeSuccess',function(eventt, newUrl, oldUrl) { 
    //... 
}); 

$locationChangeStartイベントは、URLの変更の前に放送されます。 詳細はhereをご覧ください。


あなたはこの試みる戻って、以前のルートに行きたい場合は:あなたが使用する必要があります

$window.history.back(); 
-1

に耳を傾けることができます:
$window.history.back();

を文字列としてURLを取得するには:
var url = $document[0].referrer;

+0

この行にエラーが発生します。$ document [0] .referrer;私は自分のコントローラーの$ documentに注射をする – Michael

0
App.run(function($rootScope) { 
     $rootScope.$on('$routeChangeStart', function(evt, newUrl, oldUrl){ 
     console.log('success', oldUrl.templateUrl); });  
}); 

希望するあなたは..

関連する問題