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 相关文章推荐
用js实现上传图片前的预览(TX的面试题)
Aug 14 Javascript
JavaScript执行顺序详细介绍
Dec 04 Javascript
jquery中对于批量deferred的处理方法
Jan 22 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
Oct 20 Javascript
详解JavaScript中void语句的使用
Jun 04 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
Aug 04 Javascript
easyui tree带checkbox实现单选的简单实例
Nov 07 Javascript
JavaScript表单验证开发
Nov 23 Javascript
jQuery根据ID、CLASS、等获取对象的实例
Dec 04 Javascript
countUp.js实现数字滚动效果
Oct 18 Javascript
jQuery HTML获取内容和属性操作实例分析
May 20 jQuery
OpenLayers3实现地图显示功能
Sep 25 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
老照片 - 几十年前的收音机与人
2021/03/02 无线电
小文件php+SQLite存储方案
2010/09/04 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
2017/04/25 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
2020/02/12 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
自己使用jquery写的一个无缝滚动的插件
2014/04/30 Javascript
js重写alert控件(适合学习js的新手朋友)
2014/08/24 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
javascript解三阶幻方(九宫格)
2015/04/22 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
2016/05/15 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
vue.js中Vue-router 2.0基础实践教程
2017/05/08 Javascript
react-native 完整实现登录功能的示例代码
2017/09/11 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
python实时分析日志的一个小脚本分享
2017/05/07 Python
基于并发服务器几种实现方法(总结)
2017/12/29 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
python把一个字符串切开的实例方法
2020/09/27 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
世界著名的顶级牛排:Omaha Steak(奥马哈牛排)
2016/09/20 全球购物
毕业生个人求职的自我评价
2013/10/28 职场文书
《一件运动衫》教学反思
2014/02/19 职场文书
《在家里》教后反思
2014/03/01 职场文书
电气工程自动化求职信
2014/03/14 职场文书
电子商务求职信
2014/06/15 职场文书
群众路线教师自我剖析材料
2014/09/29 职场文书
离婚财产处理协议书
2014/09/30 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
理解python中装饰器的作用
2021/07/21 Python
Python办公自动化PPT批量转换操作
2021/09/15 Python
动画《平凡职业成就世界最强》宣布制作OVA
2022/04/01 日漫