【问题标题】:Load CSS and JS files if newer version exists on server如果服务器上存在较新版本,则加载 CSS 和 JS 文件
【发布时间】:2018-04-07 01:22:20
【问题描述】:

我有一个由 ASP.NET 编写的网站。 JS 和 CSS 文件默认由客户端浏览器缓存。有没有办法,我想先浏览器缓存 js 和 css,但是如果更新的 js 和 css 文件,我想浏览器下载和缓存。有可能,控制日期已修改。

我改成'myscript.js?v=300'这样的head标签,此时浏览器每次都加载js。如果文件较新,我只想浏览器加载 js 一次。

【问题讨论】:

  • 只需为更新的文件添加一个新文件名,它就可以工作...
  • 这不是练习。这个网站每次都在发展
  • gulp 具有缩小文件并赋予文件指纹的功能,只要代码更改,指纹就会不同,浏览器将下载新版本,因为 url 不同。 gulpjs.com
  • @Kevinyudo 您要求一种缓存文件的方法,您只更新了一次。这就是要走的路。即使是带有版本控制参数的文件也不会被每个浏览器直接加载。新的文件名肯定是。
  • 我使用过 myscript.js?v=300。但是每次浏览器加载这个文件。不只做一次

标签: javascript html css asp.net


【解决方案1】:

缓存基于来自服务器的缓存相关 HTTP 标头响应。您需要像 thiswebpackbrowsify 这样的捆绑程序。为什么你说不是在实践中,而大多数捆绑器可以在每次构建时生成不同的文件名。那是因为浏览器根据文件名和 HTTP 标头维护缓存,只留下这两个选项让您使缓存无效。在开发过程中尝试重新加载。

【讨论】:

    猜你喜欢
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 2014-03-22
    相关资源
    最近更新 更多