【问题标题】:ASP.NET - Overriding Javascript and Styleheets cached by browserASP.NET - 覆盖浏览器缓存的 Javascript 和 Styleheets
【发布时间】:2011-08-22 21:33:30
【问题描述】:

我正在开发一个 asp.net 网站。我需要确保我的 javascript 和 css 更新将立即可供回访者使用,而无需他们清除缓存以获取最新代码。如何在需要时强制执行此操作,而在其他情况下不理会它?

提前致谢。

【问题讨论】:

    标签: javascript asp.net css browser-cache


    【解决方案1】:

    Stackoverflow 在 IMO 中非常优雅地做到了这一点。您可以在源代码中看到传递了一个查询字符串变量。

    <script type="text/javascript" src="http://sstatic.net/js/stub.js?v=778aaf5a38e2"></script>
    

    如果情况发生变化,这将强制新加载。

    【讨论】:

    • 使用旧的“查询字符串中的版本号”技巧确实是可行的方法。
    【解决方案2】:

    为了可靠地强制刷新浏览器上的缓存内容,您需要以某种方式更改文件的名称/请求的 URL。

    这通常是通过将查询字符串附加到 URL 来完成的(通常被忽略)

    请参阅When Does Browser Automatically Clear JavaScript Cache? 以获得更完整的讨论。

    【讨论】:

      【解决方案3】:

      您需要对这些资源应用 no-cache 标头,或者以某种方式使 url 动态化。

      见 - http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

      【讨论】:

        猜你喜欢
        • 2011-02-22
        • 1970-01-01
        • 1970-01-01
        • 2021-09-02
        • 2011-09-12
        • 2017-07-20
        • 1970-01-01
        • 1970-01-01
        • 2010-10-29
        相关资源
        最近更新 更多