6

如果用户正在操作旧文件,是否有任何方法可以确定或强制重新缓存 CSS 文件?

4

3 回答 3

14

确保每个人都重新加载您的新文件的唯一可靠方法是更改​​其 URL。在不实际重命名它的情况下执行此操作的合理方法是添加一个随机字符串:

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

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

编辑: @jitter:您不必为每个请求自动更改 URL - 您可以基于 CSS 文件的时间戳,甚至在您想要确保重新加载 CSS 时手动更改它。

于 2009-06-24T20:50:32.613 回答
2

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

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

于 2009-06-24T20:52:18.650 回答
2

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

强制浏览器重新加载缓存的 CSS/JS 文件的优雅方法是什么?

或谷歌“自动版本控制”加上添加 javascript 或 css。或“自动资产版本控制”

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

于 2009-06-24T20:58:24.800 回答