破解文件缓存不更新问题
2015-10-30 11:57
375 查看
常用方法:
1、文件头部声明,不缓存文件
2、动态生成引入,文件后加时间或者版本号。
3、静态引入,文件后加时间或者版本号。
静态版本号方案比较好,不会反复加载,而且又能及时更新
可以采用grunt处理版本号的替换。推荐使用 grunt-chache-breaker.配置如下,目前只支持单个html文件内的替换。
参考:
https://github.com/PaulTondeur/grunt-cache-busting https://www.npmjs.com/package/grunt-cache-breaker http://stackoverflow.com/questions/20437620/dynamically-add-version-number-to-dest-output-files-w-grunt
1、文件头部声明,不缓存文件
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 response.setHeader("Pragma","no-cache"); //HTTP 1.0 response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
2、动态生成引入,文件后加时间或者版本号。
document.writeln('<script src="'+node[i].url+'?version='+node[i].version+'"><\/script>')
3、静态引入,文件后加时间或者版本号。
<script type="text/javascript" src="<%=baseURL%>/xhd_js/select-ajax.js?2.0"></script>
静态版本号方案比较好,不会反复加载,而且又能及时更新
可以采用grunt处理版本号的替换。推荐使用 grunt-chache-breaker.配置如下,目前只支持单个html文件内的替换。
cachebreaker: { dev: { options: { match: [ {'conf.js':'js/conf.js', 'common.js':'js/common.js' }], replacement: 'md5' }, files: { src: ['test.html'] } } }
参考:
https://github.com/PaulTondeur/grunt-cache-busting https://www.npmjs.com/package/grunt-cache-breaker http://stackoverflow.com/questions/20437620/dynamically-add-version-number-to-dest-output-files-w-grunt
相关文章推荐
- sqlite3自增key设定(创建自增字段)
- ios xcode 7 插件安装
- PHP反射API
- 决策树分类
- 量化交易-1
- 三、HBase(V0.94.27)安装(完全分布式)
- extern用法详解(转)
- JAVA的 WebService规范 JAX-WS实现例子
- MLN 讨论 —— 基础知识
- LeetCode OJ:Majority Element II(主元素II)
- Servlet 实例hello world
- 一个登录的功能
- SurfaceView绘制音乐柱形图
- WCF 学习
- Andorid读写全局配置文件的方法
- 避免Cisco设备被暴力破解登陆TELNET/SSH...
- 随机数组
- ASP.NET MVC实现网站验证码功能
- 获取指定目录下的所有文件名
- 优雅sql脚本