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 02 Javascript
关于javascript 回调函数中变量作用域的讨论
Sep 11 Javascript
关于js datetime的那点事
Nov 15 Javascript
JavaScript高级程序设计(第3版)学习笔记 概述
Oct 11 Javascript
js写一个弹出层并锁屏效果实现代码
Dec 07 Javascript
深入浅析JavaScript中的作用域和上下文
Mar 26 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
Sep 09 Javascript
用jQuery实现可输入多选下拉组合框实例代码
Jan 18 Javascript
详谈js模块化规范
Jul 07 Javascript
Vue 监听列表item渲染事件方法
Sep 06 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 jQuery
JavaScript 如何计算文本的行数的实现
Sep 14 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中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
php基础教程
2015/08/26 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
Laravel 添加多语言提示信息的方法
2019/09/29 PHP
js实现的网站首页随机公告随机公告
2007/03/14 Javascript
javascript中数组的sort()方法的使用介绍
2013/12/18 Javascript
使用javascript获取页面名称
2014/12/23 Javascript
jQuery元素的隐藏与显示实例
2015/01/20 Javascript
jQuery AJAX timeout 超时问题详解
2016/06/21 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
js canvas仿支付宝芝麻信用分仪表盘
2016/11/16 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
javascript自执行函数
2017/02/10 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
2017/02/22 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
angular2 NgModel模块的具体使用方法
2019/04/10 Javascript
web.py在模板中输出美元符号的方法
2014/08/26 Python
Python学习小技巧之列表项的拼接
2017/05/20 Python
Python星号*与**用法分析
2018/02/02 Python
python解析含有重复key的json方法
2019/01/22 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
Python 爬虫性能相关总结
2020/08/03 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
CSS3 rgb and rgba(透明色)的使用详解
2020/09/25 HTML / CSS
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
Yahoo-PHP面试题1
2016/07/20 面试题
取保候审保证书
2014/04/30 职场文书
感恩的演讲稿
2014/05/06 职场文书
十周年庆典策划方案
2014/06/03 职场文书
销售人员工作自我评价
2014/09/21 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
浅析NIO系列之TCP
2021/06/15 Java/Android
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL