使用javascript在browser/android中触发后退按钮事件
我的angular应用程序的内容创建流程正在被机器人和浏览器的物理按钮打破,这些按钮将用户带到他们来自的地方,而不是过程中的前一步。我试着用locationChangeStart和其他一些类似的事件来修复它,但它们都是由我的“继续”按钮和物理“返回”按钮触发的使用javascript在browser/android中触发后退按钮事件,javascript,android,angularjs,Javascript,Android,Angularjs,我的angular应用程序的内容创建流程正在被机器人和浏览器的物理按钮打破,这些按钮将用户带到他们来自的地方,而不是过程中的前一步。我试着用locationChangeStart和其他一些类似的事件来修复它,但它们都是由我的“继续”按钮和物理“返回”按钮触发的 是否只有当用户按下浏览器/android的后退按钮时,才有办法触发事件,或者知道locationChangeStart是否是由后退按钮和应用程序按钮触发的?如果可能的话,我希望避免添加jQuery,因为我们目前没有使用它 我放弃了检测用户
是否只有当用户按下浏览器/android的后退按钮时,才有办法触发事件,或者知道locationChangeStart是否是由后退按钮和应用程序按钮触发的?如果可能的话,我希望避免添加jQuery,因为我们目前没有使用它 我放弃了检测用户按下后退按钮并采取行动的尝试。相反,将其作为默认操作并更改按钮的行为方式。我检测用户何时按下我们的一个按钮,并根据它设置一个变量
var navigating = false;
$scope.$on('$locationChangeStart', function(event) {
if($scope.global.application="new-ad" && !navigating){
event.preventDefault();
$scope.areYouSure = true;
}
});
$scope.nextStep = function() {
navigating = true;
$location.url('/step-two');
}
基本上,我们首先将变量设置为false,如果用户按physical back,它将显示提示,提醒用户他们将丢失工作。但是,如果用户改为使用我们的“继续”按钮,同时触发locationChange,它会将变量设置为true,让应用程序知道locationChange是从应用程序内触发的,并允许它继续 向我们展示您的代码。您希望看到什么,我的整个应用程序?:p这是一个一般性问题,locationChangeStart会被触发,而不管源是什么。我只需要检测后退按钮。我不确定我能提供什么与这个问题相关。试试这个:谢谢你的建议!但第二个问题来了,正如我在问题中提到的,当用户试图从页面向前导航时,这也会触发。如果我要使用任何类型的事件来跟踪用户离开页面或位置更改,我需要能够区分它们是由后退按钮还是我的“继续”按钮触发的。