如何从客户端浏览器中删除/替换缓存的css和js文件

How to remove/replace cached css and js file from client Browser?

本文关键字:缓存 css 文件 js 替换 客户端 浏览器 删除      更新时间:2023-09-26

是否有一种方法,我们可以替换或删除缓存的css和js文件从客户端浏览器当他们来到网站下次?

是的,给它一个版本号。例如,客户端在您的站点上并加载:

http://path/to/cssFile.css

如果你改变这个并添加一个版本号,当他们再次访问时,他们会再次下载它,例如

http://path/to/cssFile.css?version=1.001

给,我想这个能帮到你。至少它可以用于图像:

jQuery中如何重载/刷新元素(图像)

Gl =)

一旦你设置了一个过期日期头,客户端/缓存服务器将缓存它,直到指定的日期为该URL。在这里描述缓存机制很长…(如果你不熟悉,谷歌一下)

你无法控制它。但是!如果您更改了URL,客户端将认为它是新的资源,并再次从服务器获取它。因此,尝试在资源后使用假查询来实现此技巧。

而不是
http:/example.com/static/style_main.css

使用

:
http:/example.com/static/style_main.css?t=1234

,当你认为是时候改变它时,增加这个数字。

= = =
如果你很好地调整了你的应用程序,并使用一个好的web服务器,如Apache或nginx来提供这些静态文件,他们会毫不费力地为你处理它。因为客户端会要求服务器提供最新的版本,如果之前有过修改,客户端会返回403 Not Modified或者文件内容。

如果你的JS/CSS是动态改变的,那么最好的方法是明确设置它的头文件不被缓存