首页  »   Java Web开发

JSP页面禁用浏览器的后退按钮,该如何解决

网友分享于:2013-06-29  浏览:1次
JSP页面禁用浏览器的后退按钮
现在要在登录页面上实现禁用浏览器后退按钮的功能。上午找了一下,在JSP页面中嵌入
<script type='text/javascript'>
window.history.forward();//禁止页面后退
</script>是一种很普遍的方法,但没效果。求高手指点,有没有更好的方法。
------解决思路----------------------
我的做法是:
在jsp页面 <body>中添加javascript脚本:如下:
<script type="text/javascript">
window.history.go(1);
</script>

有效果。

楼主你的做法也可以啊,不知你把js代码是放在JSP的head中还是body中了。应该放在body中
------解决思路----------------------
document.onkeydown=banBackSpace;
/** 屏蔽退格键 */
function banBackSpace(e) {
    var ev = e 
------解决思路----------------------
 window.event;//获取event对象    
    var obj = ev.target 
------解决思路----------------------
 ev.srcElement;//获取事件源    
       
    var t = obj.type 
------解决思路----------------------
 obj.getAttribute('type');//获取事件源类型   
       
    //获取作为判断条件的事件类型 
    var vReadOnly = obj.getAttribute('readonly'); 
    var vEnabled = obj.getAttribute('enabled'); 
    //处理null值情况 
    vReadOnly = (vReadOnly == null) ? false : vReadOnly; 
    vEnabled = (vEnabled == null) ? true : vEnabled; 
       
    //当敲Backspace键时,事件源类型为密码或单行、多行文本的, 
    //并且readonly属性为true或enabled属性为false的,则退格键失效 
    var flag1=(ev.keyCode == 8 && (t=="password" 
------解决思路----------------------
 t=="text" 
------解决思路----------------------
 t=="textarea")  
                && (vReadOnly==true 
------解决思路----------------------
 vEnabled!=true))?true:false; 
      
    //当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效 
    var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea") 
                ?true:false;         
       
    //判断 
    if(flag2){ 
        return false; 
    } 
    if(flag1){    
        return false;    
    }    
}

------解决思路----------------------
很负责的告诉你,单凭JS屏蔽不了 浏览器的后退。(键盘也可以使页面后退)。
除非调用插件,进行彻底屏蔽。

相关解决方案

最新解决方案