Angularjs 操纵按钮backbutton ApacheCordova

Angularjs 操纵按钮backbutton ApacheCordova,angularjs,cordova,phonegap-plugins,cordova-plugins,visual-studio-cordova,Angularjs,Cordova,Phonegap Plugins,Cordova Plugins,Visual Studio Cordova,必须处理“后退”按钮,因此您可以阻止该页面是否为登录。我已经尝试了很多方法,但都没有成功。我更接近这些尝试: 我尝试文档。推荐人:但返回空。 请尝试$routeChangeStart,但首先将该方法称为backButtonHandler,然后检查是否忽略此方法 (function () { "use strict"; var pageHistoryCount = 0; var goingBack = false; document.addEventListene

必须处理“后退”按钮,因此您可以阻止该页面是否为登录。我已经尝试了很多方法,但都没有成功。我更接近这些尝试:

我尝试文档。推荐人:但返回空。 请尝试$routeChangeStart,但首先将该方法称为backButtonHandler,然后检查是否忽略此方法

(function () {
    "use strict";
    var pageHistoryCount = 0;
    var goingBack = false;

    document.addEventListener('deviceready', onDeviceReady.bind(this), false);



    function onDeviceReady() {
        // Handle the Cordova pause and resume events

        document.addEventListener('pause', onPause.bind(this), false);
        document.addEventListener('resume', onResume.bind(this), false);
        document.addEventListener('backbutton',backButtonHandler.bind(this), false);    
        // TODO: Cordova has been loaded. Perform any initialization that requires Cordova here.
    };

    function onPause() {
        // TODO: This application has been suspended. Save application state here.
    };

    function onResume() {
        // TODO: This application has been reactivated. Restore application state here.
    };

    function exitApp() {
        navigator.app.exitApp();
    };


    function backButtonHandler(e) {
        window.history.back();
         // i need this logic
        //if(previus=="login"){
        //       }else{window.history.back(); }
    };


})();

我同意道格拉斯·蒂姆斯的观点。更好的做法是在用户尝试访问任何登录后页面时检查用户是否已通过身份验证,如果未通过身份验证,则将其重定向回登录页面。在Javascript中,您可以跟踪用户何时尝试使用pageload或deviceready事件进入新路径。

您是否在路由器插件中使用AngularJS之类的框架?还有别的吗?看,我没有使用任何插件,但它对我不起作用,登录页面的调用方式与此相同,我无法在登录页面上进行验证。你在哪个平台上构建导致问题的插件?安卓网间网操作系统?装置模拟器/模拟器?您是否在previus上存储值?不要试图弄乱后退按钮。相反,如果用户未经过身份验证,请重新路由用户,并尝试点击任何非登录页面的路由。这样,即使他们在登录屏幕上点击后退按钮,它仍然会将他们重新路由回登录屏幕。