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

首先,先把浏览器分成两类:以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和谷歌都试用哦!!!!

QianKun 微端架构中,如果用户点击浏览器后退按钮无法回到预期的页面,可能是由于以下几个原因: 1. **路由管理**:微端通常使用独立的端路由库来处理应用内的跳转。如果你的后退操作不是通过这些内部路由控制的,而是直接触发了浏览器的历史记录,那么浏览器可能会直接退出到外部应用或者其他页面。 2. **历史状态保存**:微端应用需要手动管理其页面之间的导航状态,包括添加、替换和删除历史记录。如果没有正确地同步和更新浏览器历史记录,后退操作可能会失效。 3. **浏览器同源策略**:对于跨域加载的微端组件,浏览器默认会受到同源策略限制。如果用户从一个域名跳转到另一个域名,后退可能受阻。 4. **全局守卫**:在一些框架中,可能存在全局的导航守卫机制,用于拦截或修改用户的跳转行为。检查是否有这样的设置并适当配置。 5. **页面生命周期管理**:确保微端模块在卸载或关闭时正确清理资源,避免产生不必要的历史记录遗留问题。 解决这个问题,你需要检查项目的路由管理逻辑,以及是否正确设置了浏览器的历史记录,并确保遵守跨域策略。如果是在一个具体的框架内,查阅文档找到相关的导航或生命周期事件进行适当的处理。同时,测试各种边界情况,确保兼容所有可能的用户交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值