所以我正在寻找一种方法来禁用后退按钮(Android上的硬件,iPhone上的软件),或者将用户重定向到另一个页面(然后是之前的页面)。
我的理由不是出于邪恶目的或其他任何目的。我正在研究一种考试软件。用户回答考试/调查/测验中的所有问题,提交表格,然后将其带到页面以查看反馈。目前,如果他们点击硬件后退按钮,他们会收到警告框,说明数据已经提交,但他们仍然可以点击确定并重新参加考试并重新提交,从而重新提交相同的结果或更改他们的回答和重新提交,
我正在寻找一种方法来禁用此功能,方法是以某种方式禁用后退按钮,或者将用户重定向到新页面。
有关该应用的一些信息。考试表格不是使用Ajax提交的。整个应用程序都是一个URL,无论您使用的是哪个页面,URL都始终相同。通过重新加载该URL,您将进入登录页面(这是完全可以接受的)。
我已经研究过HTML5历史记录功能,但由于它在较新版本的Android中缺乏支持,我无法使用它。我需要能够在Android,iPhone和WP7上运行的东西。
答案 0 :(得分:4)
没有真正的方法可以禁用Blackberry或Android上的硬件back
按钮。
您可以做的是维护一个会话变量,该变量在back
处理程序中失效,并在考试页面的pagebeforeshow
事件中检查该会话变量。
答案 1 :(得分:1)
与问题有点关系,如果你使用带有cordova / phonegap的jQuery Mobile,你可以听一个名为" backbutton"的事件。确保在" deviceready"。
之后绑定它以下示例:
document.addEventListener("backbutton", function (e) {
e.preventDefault();
}, false);
答案 2 :(得分:0)
您应该能够使用javascript捕获硬件后退按钮点击事件。
$(document).bind('keydown', function(event) {
if (event.keyCode == 27) { // 27 = 'Escape' keyCode (back button)
event.preventDefault();
}
});
答案 3 :(得分:-1)
要禁用jquery mobile中的后退按钮,请在页面的标题div中显示data-backbtn =“false”
您可以在http://jquerymobile.com/demos/1.0a3/#docs/toolbars/docs-headers.html
上测试相同内容为了修改功能,你可以拥有类似的东西
<a href="/#default" data-icon="back">
每次都会将您重定向到默认页面。
谢谢,