前端技巧:禁止浏览器static files缓存篇(转)

时间:2024-07-26 22:35:32

前端技巧:禁止浏览器static files缓存篇


由于CSS/JS文件经常需要改动,前端调试时是不希望浏览器缓存这些文件的。

本文记录博主的经验。

Meta法

目前在chrome调试还没有遇到问题,好用!此方法假设浏览器是个好人!很听我们的话!

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="0">

如果不明白,可以看我的另一篇文章HTML5 meta标签的总结

随机数法 Cache Buster

随机数法本身相当于渲染模板时添加版本号,在某些版本的浏览器,此法无效。此方法假设浏览器是个小坏蛋!他有可能调皮,不听我们的话!

<script>
var js = document.createElement("script");
js.src = "test.js?random" + Math.random();
document.body.appendChild(js);
</script>

Static asset revisioning

以上两个在chrome调试是没有问题的,但是微信浏览器,这些都可能无效。也就是说浏览器变身彻头彻尾的大流氓,它就是和你唱反调!这时候你需要修改文件名!也可以说这才是利器!

原理就是利用文件的md5,文件内容变化了,在文件名后面自动添加md5值。可以写个脚本,或者利用现成的工具!如gulp-rev

申明:

此文章由The_Third_Wave发表于:http://www.ttwshell.com/ ,转载需带上此声明和本文链接。