我注意到一些浏览器(特别是Firefox和Opera)非常热衷于使用. css和. js文件的缓存副本,即使在浏览器会话之间也是如此。当您更新其中一个文件时,这会导致问题,但用户的浏览器会继续使用缓存的副本。
当文件发生变化时,强制用户浏览器重新加载文件的最优雅方法是什么?
理想情况下,该解决方案不会强制浏览器在每次访问页面时重新加载文件。
我发现"="">da5id的18921">约翰·米利的和da5id的的建议很有用。事实证明有一个术语:版本自动化。
我在下面发布了一个新的答案,它结合了我最初的解决方案和约翰的建议。
SCdF提出的另一个想法是在文件中附加一个虚假的查询字符串。(一些Python代码,自动使用时间戳作为虚假的查询字符串,是由pi提交。。)
但是,有一些关于浏览器是否会缓存带有查询字符串的文件的讨论。(请记住,我们希望浏览器缓存文件并在以后的访问中使用它。我们只希望它在更改后再次获取文件。)