js、css、img等浏览器缓存问题的2种解决方案


Posted in Javascript onOctober 23, 2013

细节决定成败!浏览器缓存的意义在于提高了执行效率,但是也随之而来带来了一些问题,导致服务端修改了js、css,客户端不能更新
方法一 生成随机数字

<script type=”text/javascript“ src=”/js/test.js?+Math.random()“></script>

缺点,浏览器缓存失去意义,每次都动态加载。

方法二 版本号控制,设置全局变量,每次发布前版本号加1

<script type=”text/javascript“ src=”/js/test.js?v=<%=v%>“></script>

推荐这种做法,这种做法比较简单。缺点是HTML页面不能使用,但是这种页面应该不太多

更多方法:采用读取文件大小、文件修改时间生成MD5的方式自动化实现,程序自动构建时压缩合并js并且全局替换版本,方式复杂,有兴趣的可以研究一下

谁还有更好的方法?

Javascript 相关文章推荐
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
Jun 18 Javascript
10款新鲜出炉的 jQuery 插件(Ajax 插件,有幻灯片、图片画廊、菜单等)
Jun 08 Javascript
jQuery中addClass()方法用法实例
Jan 05 Javascript
使用console进行性能测试
Apr 27 Javascript
Bootstrap基本组件学习笔记之分页(12)
Dec 08 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
Sep 29 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
May 20 Javascript
angularjs自定义过滤器demo示例
Aug 24 Javascript
Postman环境变量全局变量使用方法详解
Aug 13 Javascript
vue3.0 加载json的方法(非ajax)
Oct 26 Javascript
深入了解Vue3模板编译原理
Nov 19 Vue.js
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
Jan 05 Vue.js
js从10种颜色中随机取色实现每次取出不同的颜色
Oct 23 #Javascript
3分钟写出来的Jquery版checkbox全选反选功能
Oct 23 #Javascript
js(jQuery)获取时间的方法及常用时间类搜集
Oct 23 #Javascript
js简单实现HTML标签Select联动带跳转
Oct 23 #Javascript
JS Date函数整理方便使用
Oct 23 #Javascript
改变文件域的样式实现思路同时兼容ie、firefox
Oct 23 #Javascript
JavaScript instanceof 的使用方法示例介绍
Oct 23 #Javascript
You might like
php 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
PHP超级全局变量数组小结
2012/10/04 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
PHP不用递归实现无限分级的例子分享
2014/04/18 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
2016/03/21 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
JS Excel读取和写入操作(模板操作)实现代码
2010/04/11 Javascript
node.js中的path.basename方法使用说明
2014/12/09 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
javascript移动开发中touch触摸事件详解
2016/03/18 Javascript
Webpack打包慢问题的完美解决方法
2017/03/16 Javascript
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
原生JS实现留言板
2020/03/26 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python连接SQLite数据库并进行增册改查操作方法详解
2020/02/18 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
浅谈css3中的渐进增强和优雅降级
2017/12/01 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
Gretna Green中文官网:苏格兰格林小镇
2019/10/16 全球购物
c/c++某大公司的两道笔试题
2014/02/02 面试题
活动志愿者自荐信
2014/01/27 职场文书
班级活动策划书
2014/02/06 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
酒店管理毕业生自我鉴定
2014/03/02 职场文书
2015元旦晚会主持词(开场白+结束语)
2014/12/14 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
五年级作文之劳动作文
2019/11/12 职场文书
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android