我正在建立网站,而且我遇到了关于window.history.back的问题。
我使用了window.history.back()来回复'希望它能够作为浏览器上的后退按钮。
当我按下'返回'按钮连续两次,我在两页之间进行无限循环。
例如,我们假设有三个页面,A,B和C.
只能通过第A页访问页面B.
只能通过第B页访问页面C.
'返回'按钮位于一个栏中,作为单独的指令实现。 Page B和Page C都使用此指令。
当我到达Page C并按下后退按钮时,我被定向到第B页。如果我再次点击页面B中的后退按钮,我将被定向回到第C页。之后,我按下第C页上的后退按钮,I进入Page B和C之间的无限循环。
我该如何解决这个问题?
下面的代码是bar的指令
.directive('BarBack', [function() {
return {
replace: false,
restrict: 'E',
template: '<bar-button et-icon="keyboard_arrow_left" on-click="ctrl.onClick()">{{ "BACK" | translate }}</bar-button>',
transclude: false,
scope: {
icon: '@',
stringId: '@',
state: '@'
},
controllerAs: 'ctrl',
controller: ['$window', function($window) {
var ctrl = this;
ctrl.onClick = function() {
$window.history.back();
}
}]
}
}])
我无法对特定位置进行硬编码。
提前谢谢。