强制CSS Recache

时间:2009-06-24 20:47:47

标签: css stylesheet

如果用户正在操作旧文件,有没有办法确定或强制重新缓存CSS文件?

3 个答案:

答案 0 :(得分:14)

确保每个人重新加载新文件的最可靠方法是更改​​其URL。在没有实际重命名的情况下执行此操作的合理方法是使用随机字符串:

<link rel='stylesheet' href='/mystyles.css?random=87365835'>

那是使用大锤破解坚果,并绕过所有存在的HTTP机制,但它绝对可以在任何地方使用,而其他技术都有警告。

编辑: @jitter:您不必为每个请求自动更改网址 - 您可以根据CSS文件的时间戳进行更改,或者甚至只需手动更改它想确保重新加载CSS。

答案 1 :(得分:2)

您可以尝试编辑服务器etags: http://developer.yahoo.com/performance/rules.html#etags

但首选方法可能是重命名您的CSS文件,例如使用日期或内部版本号,以便用户始终拥有最新版本。

答案 2 :(得分:2)

检查此解决方案而不是使用xx.css?rand = 213213213

What is an elegant way to force browsers to reload cached CSS/JS files?

或google进行“自动版本控制”以及添加javascript或css。或“自动资产版本控制”

它使用自动方法,通过附加get变量来更改URL部分的路径。