为了刷新缓存中的 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/