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

时间:2015-06-05 11:29:00

标签: javascript css browser browser-cache

有没有办法在下次访问网站时从客户端浏览器中替换或删除缓存的css和js文件?

3 个答案:

答案 0 :(得分:2)

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

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

如果您更改此项并添加版本号,当他们再次访问时,他们会再次下载,例如

<h3>Select your favorite sports:</h3>
<label>
    <input type="checkbox" value="football" name="football"> Football</label>
<label>
    <input type="checkbox" value="baseball" name="baseball"> Baseball</label>

答案 1 :(得分:0)

在这里,我认为这可以帮助你...至少它适用于图像:

How to reload/refresh an element(image) in jQuery

Gl =)

答案 2 :(得分:0)

设置过期日期标头后,客户端/缓存服务器会将其缓存到该URL的指定日期。描述缓存机制在这里写得很长......(如果你不熟悉谷歌吧)

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

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

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

当你认为是时候改变它时会增加数字。

===
如果你很好地调整了你的应用程序并使用像Apache或nginx这样的优秀网络服务器来提供这些静态文件,他们会毫不费力地为你处理它。因为客户端会要求服务器提供最新版本,并且如果之前已经更改,它将以403 Not Modified或文件内容进行响应。

如果您的JS / CSS是动态更改的,那么最好的方法是明确设置其标头不要缓存。