我正在使用 Phonegap 开发一个与我的 Drupal 站点交互的 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>
问题是后退按钮没有被重新分配。当用户注销并最终回到登录页面时,我无法找到重新运行上述代码的方法。
如果有人愿意为此提供解决方案,我将不胜感激!
最佳答案
deviceready 很重要。如果不使用,有时您会阻塞后退按钮,有时则不会。 通常在调试中它有效,在生产中没有。
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
document.addEventListener("backbutton", function (e) {
e.preventDefault();
}, false );
}
编辑 2013-11-03 常见的错误是在桌面上进行开发,排除了 cordova 脚本。 然后忘记包含移动版本的 cordova 脚本。
关于android - 如何在一个页面上禁用 Android 后退按钮并更改为每隔一个页面上的退出按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12791324/