css、js缓存问题

来源:互联网 发布:mysql删除primary key 编辑:程序博客网 时间:2024/04/28 17:02

目前开发新需求,经常服务器发布文件后要不断的刷新页面或者过很长时间,页面上的CSS和JS文件才能生效,特别对于目前做微信公众号的时候,微信内置的浏览器缓存非常的严重。但是目前项目中没有任何处理缓存的机制,导致在开发中明明更改了样式或者脚本但是就是没有任何效果,只能不停刷新、清缓存,非常坑爹!浏览器缓存的意义在于提高了执行效率,但是导致服务端修改了js、css,客户端不能及时更新。你每次发布一个新的版本,用户的脚本和样式不更新,那程序就只能停在那里。所以这两天一直在找解决的办法,看到网上的解决办法虽然各不一样比如加随机数、用MD5、加版本号。但是有一个共同特点那就是给文件加一个唯一的标识,这样每次发布新版本后,只能去服务器下载新的版本。

1、生成随机数字

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

2、版本号控制,每次发布前版本号加1

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

对于我们现在项目工程的话,在项目设计和构建的过程中就没有考虑到这个缓存问题,我感觉版本号控制这个方法是最好的。优点,就是简单,不用额外在加任何代码。缺点就是麻烦,你每次修改完文件后上线前都要给它手动加上一个版本号。


0 0