Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript在browser/android中触发后退按钮事件_Javascript_Android_Angularjs - Fatal编程技术网

使用javascript在browser/android中触发后退按钮事件

使用javascript在browser/android中触发后退按钮事件,javascript,android,angularjs,Javascript,Android,Angularjs,我的angular应用程序的内容创建流程正在被机器人和浏览器的物理按钮打破,这些按钮将用户带到他们来自的地方,而不是过程中的前一步。我试着用locationChangeStart和其他一些类似的事件来修复它,但它们都是由我的“继续”按钮和物理“返回”按钮触发的 是否只有当用户按下浏览器/android的后退按钮时,才有办法触发事件,或者知道locationChangeStart是否是由后退按钮和应用程序按钮触发的?如果可能的话,我希望避免添加jQuery,因为我们目前没有使用它 我放弃了检测用户

我的angular应用程序的内容创建流程正在被机器人和浏览器的物理按钮打破,这些按钮将用户带到他们来自的地方,而不是过程中的前一步。我试着用locationChangeStart和其他一些类似的事件来修复它,但它们都是由我的“继续”按钮和物理“返回”按钮触发的


是否只有当用户按下浏览器/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会被触发,而不管源是什么。我只需要检测后退按钮。我不确定我能提供什么与这个问题相关。试试这个:谢谢你的建议!但第二个问题来了,正如我在问题中提到的,当用户试图从页面向前导航时,这也会触发。如果我要使用任何类型的事件来跟踪用户离开页面或位置更改,我需要能够区分它们是由后退按钮还是我的“继续”按钮触发的。