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 相关文章推荐
javascript基础知识大集锦(一) 推荐收藏
Jan 13 Javascript
js jquery验证银行卡号信息正则学习
Jan 21 Javascript
jQuery中的编程范式详解
Dec 15 Javascript
XML文件转化成NSData对象的方法
Aug 12 Javascript
jquery自定义插件——window的实现【示例代码】
May 06 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
May 20 Javascript
bootstrap日历插件datetimepicker使用方法
Dec 14 Javascript
angularjs路由传值$routeParams详解
Sep 05 Javascript
js 毫秒转天时分秒的实例
Nov 17 Javascript
ES6 对象的新功能与解构赋值介绍
Feb 05 Javascript
Vue开发之封装上传文件组件与用法示例
Apr 25 Javascript
浅析JS中NEW的实现原理及重写
Feb 20 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
PHP重定向的3种方式
2013/03/07 PHP
jQuery 注意事项 与原因分析
2009/04/24 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
2013/02/16 Javascript
得到form下的所有的input的js代码
2013/11/07 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
初步使用bootstrap快速创建页面
2016/03/03 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
JavaScript html5利用FileReader实现上传功能
2020/03/27 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
webpack之devtool详解
2018/02/10 Javascript
关于vue面试题汇总
2018/03/20 Javascript
JS求Number类型数组中最大元素方法
2018/04/08 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
VuePress 静态网站生成方法步骤
2019/02/14 Javascript
微信小程序收货地址API兼容低版本解决方法
2019/05/18 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
js实现多图和单图上传显示
2019/12/18 Javascript
python实现读取命令行参数的方法
2015/05/22 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
英国领先的游戏零售商:GAME
2019/09/24 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
乡镇群众路线专项整治方案
2014/11/03 职场文书
欢迎词怎么写
2015/01/23 职场文书
超市督导岗位职责
2015/04/10 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
如何理解及使用Python闭包
2021/06/01 Python
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis
详解nginx location指令
2022/01/18 Servers
Python字符串常规操作小结
2022/04/03 Python
MySQL创建管理HASH分区
2022/04/13 MySQL