1.更改css文件名:其实解决这个问题很简单,缓存是通过文件名标记缓存的内容的。在你更新了网站的css文件内容后,在更换一下css的文件名就可以了。如原先html中的css调用语句如下:
<link rel="stylesheet" href=“http://www.example.com/style.css” type="text/css" media="screen" />
改一下css文件名就可以了:
<link rel=“stylesheet” href="http://www.example.com/index.css" type="text/css" media="screen" />
另外一种从更改css文件名的方法是将版本号写到文件名中,如:
<link rel="stylesheet" href="http://www.example.com/index.v2011.css" type="text/css" media="screen"/>
css文件更新后,改一下文件名中的版本号即可:
<link rel="stylesheet" href="http://www.example.com/index.v2012.css" type="text/css" media="screen"/>
2.给css文件加个版本号:其实每次修改css文件后还要修改css的文件名有点麻烦,那么我们可以在加载css语句中加入个版本号(即css链接中?后面的内容)就可以了。如原先html中的css调用语句如下:
<link rel="stylesheet" href=“http://www.example.com/style.css?v=2011”type="text/css" media="screen"/>
改一下css文件的版本号改成2012就可以了:
<link rel="stylesheet" href=“http://www.example.com/style.css?v=2012”type="text/css" media="screen"/>
总结:
其实css文件后面的问号起不到实际作用,仅能当作后缀,如果用问号加参数的方法,可以添加版本号等信息,同时可以刷新一下浏览器端的缓存。一个小小的细节,带来很大的方便。
给CSS、JS添加版本号可以防止客户端缓存。比如:<script src="001.js?2015120710"></script>
001.js?2015120710 ?后面的2015120710是当前js的日期。
如果自动添加,建议还是以日期作为版本号,当然也可以通过程序随机生成一组数字或字符。
大型网站通常都有一套比较成熟的自动化部署工具。在项目发布前,使用该工具进行部署代码。工具会自动地帮完成资源压缩、代码打包、添加版本号、解决执行依赖等问题。
给站一个版本号就行了,服务端输出到JS尾部。更新JS的时候,修改下版本号就行了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)