我知道如何在AngularJS實現後退按鈕:How to implement history.back() in angular.js如何僅在AngularJS中顯示相同的單頁應用程序時顯示後退按鈕?
我想要顯示它,只有當BACK將導致我相同的應用程序:
<a ng-click="back()" ng-show="isBackAvailable()">BACK</a>
我想BACK到如果它會導致其他頁面被隱藏。
我當前的實現看起來是這樣的:
app.run(function($rootScope, $window) {
var acceptableReferrers = ["http://127.0.0.1:9000/"];
$rootScope.back = function() {
$window.history.back();
}
$rootScope.isBackAvailable = function() {
var result = _.contains(acceptableReferrers, document.referrer);
console.log(result)
return result;
}
});
這是行不通的。
當我粘貼http://127.0.0.1:9000/
到瀏覽器欄document.referrer
是""
(空字符串)。但是,如果我這樣做了以下方法: <a href="http://127.0.0.1:9000/#/search">now referrer will be correct</a>
請指教。
你可以嘗試使用'$ location.absUrl()',然後檢查URL包含任何可接受的引薦 – callmekatootie
@callmekatootie - ''' $ location.absUrl()'''嘗試使用它,但不適用於我:( –
你的意思是它不會返回任何東西? – callmekatootie