2016-10-07 12 views
-2

私はAngujarJS 1.5を使用して私の単一ページアプリケーションプロジェクトに取り組んでいます。コントローラで前のURLを取得できないのはなぜですか?

コントローラのある時点で、以前のURLを取得する必要があります。

私は、以前のURLを取得するには、このコードを使用しようとしました:

var prevUrl = $document[0].referrer; 

と、この:

var prevUrl2 = document.referrer; 

しかし​​とprevUrl2は常に空です。

私は戻って、このコードを使用します。

$window.history.back(); 

それは正常に動作します。 Umakantたてがみのよう

はお勧め:

が、私はこれを試してみました:

dashboard.run(["$rootScope", 
    function($rootScope) { 
     $rootScope.$on('routeChangeStart', function (evt, absNewUrl, absOldUrl) { 
      //routeHistory.push({ route: from, routeParams: fromParams }); 
      console.log('success', absOldUrl.templateUrl); 
    }); 
}]) 

私はコンソールにメッセージを得ることを期待しかし、私は任意のメッセージを得ることはありません。

なぜ​​とprevUrl2が空ですか?

+0

$ routeChangeStart –

答えて

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

    }); 
}); 

    Register this function in main index.js file where you register your angular app and assign this result to one global variable and use it 
    Hope this may helps. 
+0

コントローラでどのように使用しますか? – Michael

+0

これを$ rootScope.previousUrlに設定して、コントローラの$ scopeで使うことができます。あるいは、rootscopeにgoBack関数を書くだけでどこでも使えます。 –

+0

私はアップデートansを持っていますか、それを確認してください –

関連する問題