浏览器后退刷新

问题描述

      浏览器自带后退按钮进行返回操作,浏览器返回操作默认读取缓存内容,而我们的需求是重新刷新页面,从服务器重新获取数据。一般使用了ajax进行异步刷新时会碰到这样的问题。


各种语境下解决方法


HTML解决方式

[html]  view plain  copy
  1. <pre>      
  2.     <META HTTP-EQUIV="pragma" CONTENT="no-cache">      
  3.     <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">      
  4.     <META HTTP-EQUIV="expires" CONTENT="0">      
  5. </pre>   


js解决方式

(ps:可能有延时,因为页面会先解析其他内容)

[html]  view plain  copy
  1. window.onload = function(){  
  2.     if(window.name!="hasLoad"){      
  3.         location.reload();      
  4.         window.name = "hasLoad";      
  5.     }else{      
  6.         window.name="";      
  7.     }  
  8. }  



Java解决方式

[java]  view plain  copy
  1. if (request.getProtocol().compareTo("HTTP/1.0") == 0){      
  2.     response.setHeader("Pragma","no-cache");      
  3. }else if (request.getProtocol().compareTo("HTTP/1.1") == 0){      
  4.     response.setHeader("Cache-Control","no-cache");      
  5. }     


JSP解决方式

[java]  view plain  copy
  1. <%     
  2.    response.setHeader("Pragma","no-cache");     
  3.    response.setHeader("Cache-Control","no-cache");     
  4.    response.setDateHeader("Expires"0);     
  5.    response.setHeader("Cache-Control""no-store");     
  6. %>  


PHP解决方式

[java]  view plain  copy
  1. header("Cache-Control: no-store, no-cache, must-revalidate");      
  2. header("Cache-Control: post-check=0, pre-check=0"false);      
  3. header("Pragma: no-cache");     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值