禁止IE页面缓存

阅读更多

一、禁止页面内容缓存:

HTM 网页

ASP 网页

<%

      Response.Expires   =   -1

      Response.ExpiresAbsolute   =   Now()   -   1

      Response.cachecontrol   =   "no-cache"

%>

PHP 网页

header("Expires:   Mon,   26   Jul   1997   05:00:00   GMT");

header("Cache-Control:   no-cache, must-revalidate");

header("Pragma:   no-cache");

JSP

response.setHeader("Pragma","No-Cache");

response.setHeader("Cache-Control","No-Cache");

response.setDateHeader("Expires",   0);

C# 中禁止 cache 的方法!

Response.Buffer=true;

Response.ExpiresAbsolute=System.DateTime.Now.AddSeconds(-1);

Response.Expires=0;

Response.CacheControl="no-cache";

 

禁止图片缓存:

在图片后面加一个随机参数,如:

——————————————————————————————————————————

如何禁止IE缓存,采用Ajax技术数据更新不及时

今日在做Ajax的项目,发现一个问题:提交数据后,取不回提交的数据。郁闷多时,仔细分析,发现后台日志没有取数据的消息,前端也没有出现“正在读入数据”的提示。因此觉得应该是系统缓存的问题,遂google,解决。方法如下:  
   
方法1:服务器端代码加入response.setHeader("Cache-Control",   "no-cache,   must-revalidate");  
   
方法2:用JavaScript在Ajax提交的时候加入一个随机数作为URL中的一个参数。req.open(url   +   "&"   +   Math.random()).  

 

方法3:$.ajax({
type: "GET",
url: "static/cache.js",
dataType: "text",
cache:false,
ifModified :true
});
   
原因:IE中如果XMLHttpRequest提交的URL与历史一样则使用缓存,根本不向服务器端提交。因此无法取到刚提交的数据。

 

二、清除cookie
<%  Cookie killMyCookie = new Cookie("mycookie", null);    
          killMyCookie.setMaxAge(0);   
          killMyCookie.setPath("/");    
         response.addCookie(killMyCookie);   
%> 
三、清除session方法
 
<%@ page language="java" %>   
<%    
session.invalidate();   
%>   
在页面关闭时清除session,需要捕获 windows.onclose事件,再调用清除session方法

 

 

 

 

你可能感兴趣的:(禁止IE页面缓存,清除缓存)