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脚本控制asp.net下treeview的NodeCheck的实现代码
Mar 02 Javascript
jquery 多级下拉菜单核心代码
May 21 Javascript
关于URL中的特殊符号使用介绍
Nov 03 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
Dec 31 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
May 12 Javascript
jQuery中height()方法用法实例
Dec 24 Javascript
jQuery中hover与mouseover和mouseout的区别分析
Dec 24 Javascript
使用jquery提交form表单并自定义action的方法
May 25 Javascript
bootstrap弹出层的多种触发方式
May 10 Javascript
浅谈Node框架接入ELK实践总结
Feb 22 Javascript
js实现简单音乐播放器
Jun 30 Javascript
浅谈Vue static 静态资源路径 和 style问题
Nov 07 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下使用SimpleXML 处理XML 文件
2010/02/27 PHP
php字符串分割函数explode的实例代码
2013/02/07 PHP
php实现根据字符串生成对应数组的方法
2014/09/22 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
JavaScript调用堆栈及setTimeout使用方法深入剖析
2013/02/16 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
js select实现省市区联动选择
2020/04/17 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
loading动画特效小结
2017/01/22 Javascript
详解Vue打包优化之code spliting
2018/04/09 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
React传值 组件传值 之间的关系详解
2019/08/26 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
Python实现的科学计算器功能示例
2017/08/04 Python
Python有序字典简单实现方法示例
2017/09/28 Python
python实现批量图片格式转换
2020/06/16 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
EJB与JAVA BEAN的区别
2016/08/29 面试题
工程力学硕士生的自我评价范文
2013/11/16 职场文书
大学生职业生涯规划范文
2013/12/31 职场文书
团队精神演讲稿
2013/12/31 职场文书
秋季运动会通讯稿
2014/01/24 职场文书
优秀语文教师事迹
2014/05/18 职场文书
经销商年会策划方案
2014/05/29 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
远程教育学习心得体会
2016/01/23 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python
Nginx静态压缩和代码压缩提高访问速度详解
2022/05/30 Servers