【浏览器缓存问题】HTML静态文件中,css和js可以添加版本号来刷新缓存,但是只是修改的文字了呢

【浏览器缓存问题】HTML静态文件中,css和js可以添加版本号来刷新缓存,但是只是修改的文字了呢,第1张

给网址后面添加一个随机数(或者是任意的字符串)即可,比如原来的网址是这样的:

http....../.../1.htm

改为

http....../.../1.htm?1234

即可(注意问号不能省)。

浏览器是根据网址来缓存的,所以只要给网址接个尾巴,浏览器就会认为是新网址,就会从网上重新下载数据了。当然,如果下次再次改变了网页内容,这个尾巴就要再次修改。

给css和js添加所谓版本号其实也是同一个原理。这个版本号其实就是给css和js的网址接个尾巴而已。

这个也同样适用网页里面的图片、音乐等资源,事实上只要是http协议的元素都可以利用这个办法来避开缓存实时刷新。

大型网站通常都有一套比较成熟的自动化部署工具。

在项目发布前,使用该工具进行部署代码。工具会自动地帮完成资源压缩、代码打包、添加版本号、解决执行依赖等问题。

给站一个版本号就行了,服务端输出到JS尾部。更新JS的时候,修改下版本号就行了。

加上版本号的作用主要有二个:

1.方便版本控制,比如1.1版本的样式表,可以升级为2.0版本的样式表

2.强制浏览器更新(因为http请求时,如果访问的路径不变,而客户端缓存中又有该文件时,浏览器会直接调用缓存中的文件,这样的话,即使服务端的css内容变化了,但是客户端仍然有可能显示的是旧文件,而加上新的版本号以后,浏览器会认为这是一个新的访问地址,会重新下载最新版本的文件)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/bake/11948499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存