【发布时间】:2009-06-24 20:47:46
【问题描述】:
如果用户对旧文件进行操作,是否有任何方法可以确定或强制重新缓存 CSS 文件?
【问题讨论】:
标签: css stylesheet
如果用户对旧文件进行操作,是否有任何方法可以确定或强制重新缓存 CSS 文件?
【问题讨论】:
标签: css stylesheet
确保每个人都重新加载您的新文件的唯一可靠方法是更改其 URL。在不实际重命名的情况下执行此操作的合理方法是添加随机字符串:
<link rel='stylesheet' href='/mystyles.css?random=87365835'>
这是使用大锤来破解坚果,并绕过所有现有的 HTTP 机制来做到这一点,但它绝对可以在任何地方工作,而其他技术都有警告。
编辑: @jitter:您不必为每个请求自动更改 URL - 您可以根据 CSS 文件的时间戳来更改它,或者甚至在您使用时手动更改它想要确保 CSS 被重新加载。
【讨论】:
您可以尝试编辑服务器 etags: http://developer.yahoo.com/performance/rules.html#etags
但首选方法可能是重命名您的 CSS 文件,例如使用日期或内部版本号,以便用户始终拥有最新的。
【讨论】:
检查此解决方案而不是使用 xx.css?rand=213213213
What is an elegant way to force browsers to reload cached CSS/JS files?
或谷歌“自动版本控制”加上添加 javascript 或 css。或“自动资产版本控制”
它使用一种自动方法,通过附加 get 变量来更改 URL 部分的路径。
【讨论】: