JS清除IE浏览器缓存的方法


Posted in Javascript onJuly 26, 2013

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 
});
Javascript 相关文章推荐
解放web程序员的输入验证
Oct 06 Javascript
解读IE和firefox下JScript和HREF的执行顺序
Jan 12 Javascript
JQuery写动态树示例代码
Jul 31 Javascript
判断日期是否能跨月查询的js代码
Jul 25 Javascript
Javascript中call与apply的学习笔记
Sep 22 Javascript
node.js中的fs.writeFileSync方法使用说明
Dec 14 Javascript
JS定义网页表单提交(submit)的方法
Mar 20 Javascript
一道JS前端闭包面试题解析
Dec 25 Javascript
JS实现兼容火狐及IE iframe onload属性的遮罩层隐藏及显示效果
Aug 23 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
Nov 25 Javascript
Angularjs cookie 操作实例详解
Sep 27 Javascript
Angular浏览器插件Batarang介绍及使用
Feb 07 Javascript
jquery简单的拖动效果实现原理及示例
Jul 26 #Javascript
js监听键盘事件示例代码
Jul 26 #Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
Jul 25 #Javascript
固定表格行列(expression)在IE下适用
Jul 25 #Javascript
JavaScript字符串插入、删除、替换函数使用示例
Jul 25 #Javascript
不使用浏览器运行javascript代码的方法
Jul 24 #Javascript
js展开闭合效果演示代码
Jul 24 #Javascript
You might like
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
解析php防止form重复提交的方法
2013/07/01 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
php生成word并下载代码实例
2019/03/15 PHP
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
解决ueditor jquery javascript 取值问题
2014/12/30 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
AngularJS  双向数据绑定详解简单实例
2016/10/20 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
2017/04/13 jQuery
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
在Windows系统上搭建Nginx+Python+MySQL环境的教程
2015/12/25 Python
利用Python在一个文件的头部插入数据的实例
2018/05/02 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
python求最大连续子数组的和
2018/07/07 Python
更新修改后的Python模块方法
2019/03/03 Python
pycharm配置git(图文教程)
2019/08/16 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
Pycharm制作搞怪弹窗的实现代码
2021/02/19 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
HTML5 video标签(播放器)学习笔记(二):播放控制
2015/04/24 HTML / CSS
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
台湾生鲜宅配:大口市集
2017/10/14 全球购物
银行求职信个人范文
2013/12/16 职场文书
企业员工薪酬方案
2014/06/04 职场文书
自我介绍演讲稿范文
2014/08/21 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js