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 Event学习第九章 鼠标事件
Feb 08 Javascript
jWiard 基于JQuery的强大的向导控件介绍
Oct 28 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
Dec 11 Javascript
js中继承的几种用法总结(apply,call,prototype)
Dec 26 Javascript
JS实现FLASH幻灯片图片切换效果的方法
Mar 04 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
Jan 18 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
Feb 16 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
Mar 30 Javascript
微信小程序冒泡事件及其阻止方法实例分析
Dec 06 Javascript
JS实现选项卡效果的代码实例
May 20 Javascript
vue路由插件之vue-route
Jun 13 Javascript
微信小程序与公众号实现数据互通的方法
Jul 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
PHP insert语法详解
2008/06/07 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
刷新时清空文本框内容的js代码
2007/04/23 Javascript
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
top.location.href 没有权限 解决方法
2008/08/05 Javascript
setTimeout 不断吐食CPU的问题分析
2009/04/01 Javascript
JavaScript 大数据相加的问题
2011/08/03 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
Chrome调试折腾记之JS断点调试技巧
2017/09/11 Javascript
基于Vue实现图书管理功能
2017/10/17 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
微信小程序实现的日期午别医生排班表功能示例
2019/01/09 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
微信小程序实现蓝牙打印
2019/09/23 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
vue实现图片上传预览功能
2019/12/23 Javascript
python自动翻译实现方法
2016/05/28 Python
浅析python内置模块collections
2019/11/15 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
2019/12/12 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
Python远程linux执行命令实现
2020/11/11 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
Opodo英国旅游网站:预订廉价航班、酒店和汽车租赁
2018/07/14 全球购物
电大物流学生的自我评价
2013/10/25 职场文书
八年级英语教学反思
2014/01/09 职场文书
入党自我评价优缺点
2014/01/25 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
区域经理岗位职责
2015/02/02 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
JavaScript中时间格式化新思路toLocaleString()
2021/11/07 Javascript