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 自定义函数缺省值的设置方法
May 05 Javascript
JS随机生成不重复数据的实例方法
Jul 17 Javascript
js写的方法实现上传图片之后查看大图
Mar 05 Javascript
node.js中的fs.close方法使用说明
Dec 17 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
Aug 19 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
Apr 27 jQuery
使用mock.js随机数据和使用express输出json接口的实现方法
Jan 07 Javascript
JavaScript使用math.js进行精确计算操作示例
Jun 19 Javascript
vue瀑布流组件实现上拉加载更多
Mar 10 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
Nov 10 Javascript
利用JavaScript模拟京东按键输入功能
Dec 01 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
Dec 15 Vue.js
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 sprintf()函数让你的sql操作更安全
2008/07/23 PHP
一个简单php扩展介绍与开发教程
2010/08/19 PHP
php Smarty 字符比较代码
2011/02/27 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
基于PHP实现假装商品限时抢购繁忙的效果
2015/10/16 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
THREE.JS入门教程(6)创建自己的全景图实现步骤
2013/01/25 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
浅析IE10兼容性问题(frameset的cols属性)
2014/01/03 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
Angular1.x复杂指令实例详解
2017/03/01 Javascript
JavaScript实现简单的树形菜单效果
2017/06/23 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
vue轮播图插件vue-awesome-swiper
2017/11/27 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
20道JS原理题助你面试一臂之力(必看)
2019/07/22 Javascript
Webpack中SplitChunksPlugin 配置参数详解
2020/03/24 Javascript
基于Electron实现桌面应用开发代码实例
2020/07/07 Javascript
Python中输出ASCII大文字、艺术字、字符字小技巧
2015/04/28 Python
Python脚本实现Web漏洞扫描工具
2016/10/25 Python
Django 导出 Excel 代码的实例详解
2017/08/11 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
银行职员个人的工作自我评价
2014/02/15 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
四年级小学生评语
2014/12/26 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
python创建字典及相关管理操作
2022/04/13 Python
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript