请问如何确保用户在更新我的Web应用程序后获得最新版本的文件?
我应该在脚本和CSS文件的结尾添加动态字符串?version=random
,并随着更新而更改它吗?还是有其他通用策略?
谢谢,Boda Cydo。
请问如何确保用户在更新我的Web应用程序后获得最新版本的文件?
我应该在脚本和CSS文件的结尾添加动态字符串?version=random
,并随着更新而更改它吗?还是有其他通用策略?
谢谢,Boda Cydo。
是的,你提到的方法非常常见且可靠。
我个人使用文件的Subversion修订号,但你可以使用任何对你有意义的内容,甚至是文件的最后更新时间戳。
StackOverflow使用SVN修订号:
<script type="text/javascript" src="http://sstatic.net/so/js/master.js?v=6180">
</script>
我通常在图片、CSS文件和Javascript文件的名称末尾加上?mtime
,其中mtime
是文件的最后修改时间。
你也可以使用版本号,每当文件更改时递增。这对于像jQuery这样有官方发布的库非常有效,但对于自己网站的文件而言,这种方法往往比所需的更繁琐。当然,在这种情况下仍然可以使用版本号,但我倾向于认为这是不必要的繁琐(需要维护的另一项内容)。
正如你所提到的,将查询字符串添加到样式表/脚本URL中是一种巧妙的技巧,可以控制缓存版本何时“失效”。
与其添加随机字符串,我通常使用文件系统中相关文件的最后修改日期。为了提高酷炫度,您可以将日期转换为数字形式,并在构建URL时以十六进制格式进行格式化 :-)
<script type="text/javascript" src="script.js?v=1750493C88"></script>
<link rel="stylesheet" type="text/css" href="style.css?v=1750493C88" />