强制浏览器只有在更改后才能重新加载css / js
关于我的问题有很多问题和答案[我希望浏览器永远缓存js / css。 在新版本中,如果某些js / css文件已更新,浏览器应重新加载并缓存它们。]
这个解决方案似乎最适合我:什么是强制浏览器重新加载缓存的CSS / JS文件的优雅方式?
但是,我无法弄清楚一件事。 该解决方案利用last_modified_time。 但是,我不能使用它。 我需要使用其他一些机制。
有什么选择? 是否有可能通过构建脚本在构建和更新(替换)jsps期间预先计算版本(部署之前,以便在运行时不计算版本号)? 任何现有的工具为此目的? 我使用Java / Jsp。
我们总是使用
file.css?[deploytimestamp]
这样CSS客户端上的每个部署都会缓存CSS文件。 我们缩小的javascript也是一样。 这是你的选择吗?
这可能不是最好的方式,但这是我现在所做的:
部署后生成每个css文件的md5哈希。 使用这个散列而不是css的url中的时间戳。
file.css?[hash of file.css contents]
在部署后计算哈希值并将其存储以获得某些性能可能是明智的。 您可以将它们存储在数据库中,甚至可以将它们存储在网站代码中包含的单独文件中的PHP数组中。
链接地址: http://www.djcxy.com/p/55771.html上一篇: Forcing the browser to reload css/js only if they have changed