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 innerText和innerHtml应用
Jan 28 Javascript
js null,undefined,字符串小结
Aug 21 Javascript
JavaScript高级程序设计 事件学习笔记
Sep 10 Javascript
浏览器解析js生成的html出现样式问题的解决方法
Apr 16 Javascript
javascript进行四舍五入方法汇总
Dec 16 Javascript
Node.js如何自动审核团队的代码
Jul 20 Javascript
jQuery 生成svg矢量二维码
Aug 09 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
Oct 04 Javascript
npm 更改默认全局路径以及国内镜像的方法
May 16 Javascript
如何利用node.js开发一个生成逐帧动画的小工具
Dec 01 Javascript
taro 实现购物车逻辑的实例代码
Jun 05 Javascript
Element Tooltip 文字提示的使用示例
Jul 26 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创建、获取cookie及基础要点分析
2015/01/26 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
ThinkPHP中where()使用方法详解
2016/04/19 PHP
Laravel中GraphQL接口请求频率实战记录
2020/09/01 PHP
Opacity.js
2007/01/22 Javascript
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
使用js操作cookie的一点小收获分享
2013/09/03 Javascript
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
2016/08/25 Javascript
jQuery实现动态显示select下拉列表数据的方法
2018/02/05 jQuery
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
jQuery实现的简单获取索引功能示例
2018/06/04 jQuery
layui表格分页 记录勾选的实例
2019/09/02 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
2020/04/09 Javascript
JavaScript实现移动小精灵的案例代码
2020/12/12 Javascript
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
python记录程序运行时间的三种方法
2017/07/14 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
python selenium firefox使用详解
2019/02/26 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
python map比for循环快在哪
2020/09/21 Python
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
威盛公司软件C++工程师笔试题面试题
2012/07/16 面试题
中年人生感言
2014/02/04 职场文书
网络工程师职业规划
2014/02/10 职场文书
优秀护士演讲稿
2014/04/30 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书
2019年暑期安全广播稿!
2019/07/03 职场文书
详解CSS故障艺术
2021/05/25 HTML / CSS
利用Python实现模拟登录知乎
2022/05/25 Python
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers