如何在一个页面上禁用Android后退按钮,并在其他页面上更改为退出按钮

我正在使用与我的Drupal网站交互的Phonegap开发一个Android应用程序.我已经重新分配了Android“返回”按钮,提示用户从Drupal服务器注销,但是我只是希望在登录页面上禁用它(显而易见的原因).我可以让它工作,但直到用户在登录页面上注销一次,按钮仍然被重新分配为注销按钮.以下是我到目前为止的代码:

   <head>
         <script>
        /* Wait until device is ready to re-assign Back button */
        document.addEventListener("deviceready", onDeviceReady, false);
        function onDeviceReady() {
            document.addEventListener("backbutton", onBackKeyPress, false);
        }
        function onBackKeyPress() {
            /* If the current page is the login page, disable the button completely (aka do nothing) */
            if ($.mobile.activePage.attr('id') == 'login_page') {
            }

            /* Else, execute log off code */
            else {
                if (confirm("Are you sure you want to logout?")) {
                    /* Here is where my AJAX code for logging off goes */
                }
                else {
                    return false;
                }
            }
        }
        </script>
</head>

问题是后退按钮没有被重新分配.当用户注销并结束登录页面时,我无法找出重新运行上述代码的方法.

如果有人愿意为此提供解决方案,我将非常感谢!

装置很重要.如果没有使用,有时你可以阻止后退按钮,有时候不能.
经常在调试中工作,在生产中.

document.addEventListener("deviceready", onDeviceReady, false);
    function onDeviceReady() {
        document.addEventListener("backbutton", function (e) {
            e.preventDefault();
        }, false );
}

编辑2013-11-03
常见的错误是在桌面上执行开发,并排除cordova脚本.
然后忘记包括手机版的cordova脚本.

翻译自:https://stackoverflow.com/questions/12791324/how-do-i-disable-android-back-button-on-one-page-and-change-to-exit-button-on-ev

转载注明原文:如何在一个页面上禁用Android后退按钮,并在其他页面上更改为退出按钮