Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  javascript  >  正文 JS如何清除IE浏览器缓存

JS如何清除IE浏览器缓存

发布时间:2015-08-06   编辑:www.jquerycn.cn
本文介绍了js实现自动清除ie缓存的几种方法,有需要的朋友参考下。

js中自动清除ie缓存的几种方法。

对于动态文件,比如 index.asp?id=... 或者 index.aspx?id=... 相信有经验的程序员都知道怎样禁止浏览器缓存数据了.
但是对于静态文件(css,jpg,gif等等), 在什么场合下需要禁止浏览器缓存他们,怎么做?

方法一:Dojo中我们可以用简单的方法完成:在dojo.xhrGet(包括post)等方法中都包含preventCache属性,此属性的含义: “默认为启用浏览器缓存,否则将通过自动增加不同的参数来确保浏览器缓存失效” 我们只要把此属性赋值为:“true”即可。

方法二:document.write("
其中 ver=113 的 113就是版本号,一般都是采用 CVS 或其他工具生成的开发版本号。
这样真正做到了应该缓存的时候缓存静态文件,当版本有更新的时候从获取最新的版本,并更新缓存。
对于图像 来有效利用和更新缓存.

js清除浏览器缓存 二

为减小浏览器与服务器之间网络传输压力,往往对静态文件,如js,css,修饰的图片做cache,也就是给这些文件的HTTP响应头加入 Expires和Cache-Control参数,并指定缓存时间,这样一定时间内浏览器就不会给服务器发出任何的HTTP请求(除了强制刷新),即使在 这段时间内服务器的js或css或图片文件已经更新多次,但浏览器的数据依然是原来最能初cache的旧数据,有没有办法让浏览器拿到已经修改后的最新数据呢?

有,方法是用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control。
例如:
 

复制代码 代码示例:

$.ajax({
type: "GET",
url: "static/cache.js",
dataType: "text",
beforeSend :function(xmlHttp){
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.setRequestHeader("Cache-Control","no-cache");

}
});

这里用了jquery。这样浏览器就会把最新的文件替换掉本地旧文件。

当然,这里还一个问题就是js必须知道服务器更新了那个js、css、图片,利用cookie和时间版本应该可以解决.

jquery自从1.2开始就有ifModified和cache参数了,不用自己加header

ifModified Boolean Default: false
Allow the request to be successful only if the response has changed since the last request. This is done by checking the Last-Modified header. Default value is false, ignoring the header.
cache Boolean Default: true
Added in jQuery 1.2, if set to false it will force the pages that you request to not be cached by the browser.

例子:
 

复制代码 代码示例:
$.ajax({
type: "GET",
url: "static/cache.js",
dataType: "text",
cache:false,
ifModified :true
});

您可能感兴趣的文章:
百度浏览器缓存怎么清除 百度浏览器清除缓存教程
浏览器缓存怎样清理?浏览器缓存清除方法
搜狗浏览器缓存在哪清理?搜狗浏览器清除缓存操作步骤
js自动清除ie浏览器缓存的方法
yy浏览器缓存在哪清除 yy浏览器怎么清理缓存
JS如何清除IE浏览器缓存
UC浏览器清除缓存的图文教程 让你的电脑飞起来
asp.net 清除IE页面缓存的方法
360极速浏览器缓存在哪清空?
Baidu浏览器快速清除浏览器缓存的教程

关键词: 缓存  浏览器   
[关闭]