相关疑难解决方法(0)

如何防止退格键导航回来?

在IE上,我可以使用(非常非标准但可以正常工作)jQuery来实现这一点

if ($.browser.msie)
    $(document).keydown(function(e) { if (e.keyCode == 8) window.event.keyCode = 0;});
Run Code Online (Sandbox Code Playgroud)

但有可能以一种适用于Firefox的方式,或以跨浏览器的方式获得奖金吗?

作为记录:

$(document).keydown(function(e) { if (e.keyCode == 8) e.stopPropagation(); });
Run Code Online (Sandbox Code Playgroud)

什么也没做.

$(document).keydown(function(e) { if (e.keyCode == 8) e.preventDefault(); });
Run Code Online (Sandbox Code Playgroud)

解决了问题,但是在页面上呈现退格键不可用,这比原始行为更糟糕.

编辑:我这样做的原因是我不是创建一个简单的网页,而是一个大型的应用程序.因为你在错误的地方按下退格键而失去10分钟的工作是令人难以置信的烦恼.通过防止退格键导航回来,防止错误与烦人用户的比例应该高于1000/1.

编辑2:我不是想阻止历史导航,只是意外事故.

EDIT3:@brentonstrines评论(因为这个问题非常受欢迎而搬到这里):这是一个长期的'修复',但你可以抛弃你的支持Chromium bug来改变webkit中的这种行为

javascript firefox jquery internet-explorer cross-browser

268
推荐指数
10
解决办法
20万
查看次数

如何使用javascript停止浏览器后退按钮

我正在做php的在线测验应用程序.我想在回到考试时限制用户.我尝试过以下脚本,但它会停止我的计时器.我该怎么办请建议我.我已经包含了源代码.计时器存储在cdtimer.js中

<script type="text/javascript">
        window.history.forward();
        function noBack()
        {
            window.history.forward();
        }
</script>
<body onLoad="noBack();" onpageshow="if (event.persisted) noBack();" onUnload="">
Run Code Online (Sandbox Code Playgroud)

我有考试计时器,它从mysql数据库中获取考试时间,并相应地启动计时器,当我把代码禁用后退按钮时它停止.会是什么问题.

javascript browser

137
推荐指数
15
解决办法
45万
查看次数