javascript - 使用 ?version=XXX 刷新缓存中的 CSS 文件

标签 javascript css caching refresh

为了刷新缓存中的 CSS 文件,我经常使用 file.css?version=DDMMYYYY 技巧。 但是,我对这种方法有疑问。

我在旧的外联网上工作。 所有页面都使用相同的 CSS 文件。 外网没有任何模板文件,外网的每个页面都包含这个css。 我需要为所有酒店后台页面刷新此 css 文件。

我的问题是: 我想在登录页面上使用 file.css?version=DDMMYYYY 技巧。 其他页面仍将包含 file.css(没有 ?version 部分)

如果用户进入登录页面,他将收到新版本的 css 文件。 但是其他页面将使用哪个版本?旧版本 (file.css) 还是新版本 (file.css?version=DDMMYYYY)?

换句话说,当用户进入登录页面时,哪些文件将在他的缓存中:

  • file.css 和 file.css?version=DDMMYYYY
  • 只有file.css,更新到新版本

很抱歉这个初学者问题,但我自己测试有一些困难。

感谢您的帮助!

最佳答案

当文件被缓存时,它将包含完整的 url,包括 ? 和它后面的内容。缓存 header 由服务器提供并由浏览器遵守。

本质上

file.css?version=DDMMYYYY
and
file.css

浏览器有 2 个单独的文件,没有任何联系。

我对您的建议是在所有页面上一致地使用新的 url。

关于javascript - 使用 ?version=XXX 刷新缓存中的 CSS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13976975/

相关文章:

javascript - Moment.js 不会更改语言环境

javascript - Coffeescript 在嵌套循环中关闭此引用列表

c# - 在应用程序状态中存储通用列表

php - 图像替换

javascript - 如果 scrollTop 等于 0,则覆盖向上/向下滚动功能

java - Guava 缓存,如何在删除时阻止访问

javascript - 使用智能快照指南拖放

Javascript 继承问题

css - 如何将键绑定(bind)添加到 gtk3 应用程序?

html - 由于 IE 9 和 10 中的小数高度,文本垂直偏移