【发布时间】:2011-08-22 21:33:30
【问题描述】:
我正在开发一个 asp.net 网站。我需要确保我的 javascript 和 css 更新将立即可供回访者使用,而无需他们清除缓存以获取最新代码。如何在需要时强制执行此操作,而在其他情况下不理会它?
提前致谢。
【问题讨论】:
标签: javascript asp.net css browser-cache
我正在开发一个 asp.net 网站。我需要确保我的 javascript 和 css 更新将立即可供回访者使用,而无需他们清除缓存以获取最新代码。如何在需要时强制执行此操作,而在其他情况下不理会它?
提前致谢。
【问题讨论】:
标签: javascript asp.net css browser-cache
Stackoverflow 在 IMO 中非常优雅地做到了这一点。您可以在源代码中看到传递了一个查询字符串变量。
<script type="text/javascript" src="http://sstatic.net/js/stub.js?v=778aaf5a38e2"></script>
如果情况发生变化,这将强制新加载。
【讨论】:
为了可靠地强制刷新浏览器上的缓存内容,您需要以某种方式更改文件的名称/请求的 URL。
这通常是通过将查询字符串附加到 URL 来完成的(通常被忽略)
请参阅When Does Browser Automatically Clear JavaScript Cache? 以获得更完整的讨论。
【讨论】:
您需要对这些资源应用 no-cache 标头,或者以某种方式使 url 动态化。
【讨论】: