如何防止用户按后退键移动页面。 [英] How to prevent user to move back page on pressing of back space key.

查看:68
本文介绍了如何防止用户按后退键移动页面。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

阻止用户通过java脚本按下后退空格键移回页面。



我可以尝试这个但它不应该在Firefox浏览器上工作但是工作在Google Crome浏览器上。

我可以使用此代码。



< script language =javascripttype =text / javascript >



函数cancelBack()

{

if((event.keyCode == 8 || (event.keyCode == 37&& event.altKey)||(event.keyCode == 39&& event.altKey))

&&

(event.srcElement.form == null || event.srcElement.isTextEdit == false)){



event.cancelBubble = true;

event.returnValue = false;

}

}

< / script>



并像这样调用这个函数。



< body onkeydown =return cancelBac k();>

< / body>



请任何人帮我解决这个问题。



提前谢谢。

Prevent user to move back page on pressing of back space key through java script.

I can try this but It should't work on Firefox browser but work on Google Crome browser.
I can use this code.

<script language="javascript" type="text/javascript">

function cancelBack()
{
if ((event.keyCode == 8 || (event.keyCode == 37 && event.altKey) || (event.keyCode == 39 && event.altKey))
&&
(event.srcElement.form == null || event.srcElement.isTextEdit == false)) {

event.cancelBubble = true;
event.returnValue = false;
}
}
</script>

and call this function like this.

<body onkeydown="return cancelBack();">
</body>

Please any one help me to solve this problem.

thanks in advance.

推荐答案

你可以使用这个剧本



You Can Use This Script

<script type ="text/javascript">

    window.onload = window.history.forward(0);  //calling function on window onload

</script>


您不应该这样做。覆盖用户期望的行为不是良好的用户体验。如果必须,请尝试使用event.preventDefault();





您可以返回false作为附加措施。下面的代码支持IE< 9.这假设你在if子句中的所有条件都是正确的,我只是复制它们。



You shouldn't do it. Overriding the behaviour the user expects is not good user experience. if you have to, try using event.preventDefault();


You could return false as additional measure. The code below supports IE < 9. This assumes all your conditions in if clause are correct, I just copied them.

var event = e || window.event;
if ((event.keyCode == 8 || (event.keyCode == 37 && event.altKey) || (event.keyCode == 39 && event.altKey))
&&
(event.srcElement.form == null || event.srcElement.isTextEdit == false)) {

event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true);
}





如果这有帮助请花时间接受解决方案。谢谢。



If this helps please take time to accept the solution. Thank you.


这篇关于如何防止用户按后退键移动页面。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆