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

细节决定成败!浏览器缓存的意义在于提高了执行效率,但是也随之而来带来了一些问题,导致服务端修改了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并且全局替换版本,方式复杂,有兴趣的可以研究一下

谁还有更好的方法?

相关推荐