Javascript Angularjs-$stateChangeStart仅在按下浏览器后退按钮时工作两次

Javascript Angularjs-$stateChangeStart仅在按下浏览器后退按钮时工作两次,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我有一个类似这样的代码 $scope.on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams){ event.preventDefault(); }); 当用户两次单击浏览器后退按钮时,它停止状态更改,但第三次它不会触发此$stateChangeStart侦听器,而是导航到上一页或窗口。将触发onbeforeunload方法 为什么当我按下浏览器后退按钮时,$stateChange

我有一个类似这样的代码

$scope.on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams){
   event.preventDefault();
});
当用户两次单击浏览器后退按钮时,它停止状态更改,但第三次它不会触发此
$stateChangeStart
侦听器,而是导航到上一页或窗口。将触发onbeforeunload方法


为什么当我按下浏览器后退按钮时,
$stateChangeStart
侦听器没有在第三次启动?

使用[$rootScope.$on(“$viewContentLoaded”)],可能有助于您了解Maher。我将使用$locationChangeStart作为浏览器后退按钮。实际上,当用户单击浏览器后退按钮时,当页面中有一些未保存的更改时,我想显示错误消息弹出窗口。