【问题标题】:How to remove/replace cached css and js file from client Browser?如何从客户端浏览器中删除/替换缓存的 css 和 js 文件?
【发布时间】:2015-06-05 11:29:00
【问题描述】:

有什么方法可以在下次访问网站时从客户端浏览器中替换或删除缓存的 css 和 js 文件?

【问题讨论】:

标签: javascript css browser browser-cache


【解决方案1】:

是的,给它一个版本号。例如,客户端在您的网站上并加载:

http://path/to/cssFile.css

如果您更改此设置并添加版本号,当他们再次访问时,他们会再次下载,例如

http://path/to/cssFile.css?version=1.001

【讨论】:

    【解决方案2】:

    在这里,我认为这可以帮助您.. 至少它适用于图像:

    How to reload/refresh an element(image) in jQuery

    Gl =)

    【讨论】:

      【解决方案3】:

      一旦您设置了 expire-date 标头,客户端/缓存服务器会将其缓存到该 URL 的指定日期。描述缓存机制在这里写得很长...(如果你不熟悉它谷歌它)

      你无法控制它。但!如果您更改 URL,客户端将认为它是新资源并再次从您的服务器获取它。因此,请尝试在您的资源之后使用虚假查询来达到目的。

      而不是
      http:/example.com/static/style_main.css

      使用:
      http:/example.com/static/style_main.css?t=1234

      当你认为是时候改变它时,增加数字。

      ===
      如果你很好地调整了你的应用程序并使用像 Apache 或 nginx 这样的优秀网络服务器来提供这些静态文件,他们会毫不费力地为你处理它。因为客户端会要求服务器提供最新版本,它会响应 403 Not Modified 或文件内容(如果文件内容自之前发生更改)。

      如果您的 JS/CSS 是动态更改的,那么最好的方法是明确设置其标头不被缓存。

      【讨论】:

        猜你喜欢
        • 2017-02-04
        • 2012-01-10
        • 2020-02-07
        • 1970-01-01
        • 2010-12-28
        • 2011-09-12
        • 2010-11-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多