网站安全退出后,再点击浏览器后退按钮不能返回前一个页面的笨办法

来源:互联网 发布:有关孙悟空的网络电影 编辑:程序博客网 时间:2024/05/16 05:29

首先,先把浏览器分成两类:以IE谷歌举例

IE浏览器为首的一类:这一类是先读取历史记录缓存,先把页面显示出来,然后再执行页面中写的各种js刷新页面!!!!

谷歌浏览器为首的一类:这一类是先读取页面的js刷新页面,再显示页面!!


以上是个人验证出来的观点,仅供参考!


下面贴出代码,支持这两类浏览器的本办法:

首先给退出按钮一个di:

<a id="esc">退出</a>

然后调用js的ajax清掉session:


js:

//调用退出

<script type="text/javascript">
  $(function(){

    $("#esc").click(function(){
    $.ajax({
type :"post",
url : "/work/statistics/statistics!esc.action",
success : function(){

window.location.href = "/登陆页.jsp";

}
}); 

  });

   });
   

</script>

action:

/**
* 退出登陆 
* @return
*/
public String esc(){
this.initContext();
session.setAttribute("personname", null);
session.setAttribute("loginInfo", null);
this.msg="退出成功!";
success=true;
return "success";
}

js:

//验证session是否存在   


 <script>
 $(function(){
   $.ajax({
    url:"/work/statistics/statistics!sessionisexist.action",
    type:"post",
    success: function(data){
    if(!data.success){
      window.location.href="/登陆页.jsp";
    }
    }
   });
}) 
 </script>

action:

//验证session中的loginInfo是否为空

public String sessionisexist() throws IOException {
this.initContext();
if(session.getAttribute("loginInfo")==null){
this.success=false;
}
return Action.SUCCESS;
}

这个action回到验证session的js 用   window.location.href="/登陆页.jsp"; 跳到登陆页!!



这只是一个笨办法,仅供参考。各位有什么好的解决办法,可以留言,但是要IE和谷歌都试用哦!!!!

0 0
原创粉丝点击