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 09 Javascript
JavaScript-世界上误解最深的语言分析
Aug 12 Javascript
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
Apr 07 Javascript
javascript基础知识分享之类与函数化
Feb 13 Javascript
JS实现的RGB网页颜色在线取色器完整实例
Dec 21 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
Jan 23 Javascript
JS鼠标滚动分页效果示例
Jul 05 Javascript
简述vue中的config配置
Jan 23 Javascript
基于vue-video-player自定义播放器的方法
Mar 21 Javascript
Angular异步变同步处理方法
Aug 13 Javascript
优雅的在React项目中使用Redux的方法
Nov 10 Javascript
Node实现搜索框进行模糊查询
Jun 28 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 strcmp使用说明
2010/04/22 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
2014/12/20 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
浅谈JS原生Ajax,GET和POST
2016/06/08 Javascript
浅析JavaScript中的array数组类型系统
2016/07/18 Javascript
JS正则表达式判断有效数实例代码
2017/03/13 Javascript
使用Node.js实现RESTful API的示例
2017/08/01 Javascript
原生js实现简单的模态框示例
2017/09/08 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
浅谈vux之x-input使用以及源码解读
2018/11/04 Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
2019/03/30 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
跟老齐学Python之不要红头文件(2)
2014/09/28 Python
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
python获取本机所有IP地址的方法
2018/12/26 Python
Python流程控制 while循环实现解析
2019/09/02 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
python爬虫用mongodb的理由
2020/07/28 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
2020/08/07 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
莱德杯高尔夫欧洲官方商店:Ryder Cup Shop
2019/08/14 全球购物
本科毕业生应聘求职信
2014/07/06 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
安全责任书怎么写
2014/07/28 职场文书
户籍证明书标准模板
2014/09/10 职场文书
罚款通知怎么写
2015/04/22 职场文书