我的代码是:
$rootScope.$on("$locationChangeSuccess", function () {
if( $location.$$path.startsWith('/room/') ){
$location.hash('container');
$anchorScroll();
}
});
在我的room
页面上,视图滚动到我拥有ID为container
的元素的位置。但是,我的网址在滚动期间附加了#container
,我的后退按钮停止工作。
每当我继续example.com/#/room/123
时,我都会被重定向到example.com/#/room/123#container
,然后我的后退按钮会指向example.com/#/room/123
。因此,每次回击时,URL都会返回example.com/#/room/123
,然后运行上面的代码并将哈希添加到代码中。
有什么方法可以防止这种情况发生并保持后退按钮正常工作?
答案 0 :(得分:1)
改为使用location.replace("#container");
。
答案 1 :(得分:1)
关注Drazen's tip后,我设法通过替换
对问题进行排序$location.hash('container');
与
$location.hash('container').replace();