JSP页面禁用浏览器的后退按钮

jovon 2013-06-03 11:42:15
现在要在登录页面上实现禁用浏览器后退按钮的功能。上午找了一下,在JSP页面中嵌入
<script type='text/javascript'>
window.history.forward();//禁止页面后退
</script>是一种很普遍的方法,但没效果。求高手指点,有没有更好的方法。
...全文
1066 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
润物wu声 2015-05-19
  • 打赏
  • 举报
回复
这个问题我也遇到了,window.history.forward();在IE和谷歌中都起作用,但在火狐浏览器中不起作用。最后找到的解决办法是: <script type='text/javascript'> window.history.forward(); window.onbeforeunload=function (){ } </script> 加多了onbeforeunload这个方法,方法里面什么也不用写。
jovon 2013-06-16
  • 打赏
  • 举报
回复
很满意的代码至今没找到。
shuai45 2013-06-05
  • 打赏
  • 举报
回复
很负责的告诉你,单凭JS屏蔽不了 浏览器的后退。(键盘也可以使页面后退)。 除非调用插件,进行彻底屏蔽。
jovon 2013-06-04
  • 打赏
  • 举报
回复
引用 2 楼 fangmingshijie 的回复:
每个浏览器的后退事件都不一样,找到后退函数直接屏蔽。
能详细说说吗?以IE为例就行。
调皮的芋头 2013-06-03
  • 打赏
  • 举报
回复
我的做法是: 在jsp页面 <body>中添加javascript脚本:如下: <script type="text/javascript"> window.history.go(1); </script> 有效果。 楼主你的做法也可以啊,不知你把js代码是放在JSP的head中还是body中了。应该放在body中
晓风雨瑟 2013-06-03
  • 打赏
  • 举报
回复
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;    
	    }    
	}
jovon 2013-06-03
  • 打赏
  • 举报
回复
引用 1 楼 hw1287789687 的回复:
我的做法是: 在jsp页面 <body>中添加javascript脚本:如下: <script type="text/javascript"> window.history.go(1); </script> 有效果。 楼主你的做法也可以啊,不知你把js代码是放在JSP的head中还是body中了。应该放在body中
如果把上段代码加到A页面的body中,由A跳转到B后,在B页面中返回A是被禁止的。如果A是一个系统的登录页面,在多个页面上都可通过注销返回登录首页A,这种情况下A的后退功能是需要禁止的,如何解决这个问题?
rumlee 2013-06-03
  • 打赏
  • 举报
回复
window.history.forward(); 这个是后退,而不是禁止后退吧。禁止后退有可能行不通。
  • 打赏
  • 举报
回复
每个浏览器的后退事件都不一样,找到后退函数直接屏蔽。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧