我有一个可以随时编辑的JavaScript资源。一旦它被编辑,我希望它能相对较快地传播到用户的浏览器上(大约15分钟左右),然而,这个资源被编辑的频率很少(可能一个月2次)。
我更喜欢在浏览器中缓存资源,因为它将被频繁地检索,但我也希望在浏览器上以半固定的时间间隔重置缓存。
当我请求资源时,我知道我可以传递一个no-cache头,但是我想知道如果我没有传递no-cache,缓存什么时候会在浏览器上自动重置。
我想这对于每个浏览器来说都是独立的,但我不确定。
我试着用谷歌搜索这个,但我找到的大多数结果都是关于清除浏览器缓存的……这不是我要找的。
发布于 2008-10-16 09:04:13
您可以将版本字符串作为get参数传递给脚本标记的URL。静态JavaScript文件不会计算该参数,但会强制浏览器获取新版本。
如果您不想在每次编辑源代码时都分配版本字符串,则可以根据文件系统时间戳或subversion提交号来计算版本字符串:
<script src="/script.js?time_stamp=1224147832156" type="text/javascript"></script>
<script src="/script.js?svn_version=678" type="text/javascript"></script>
发布于 2008-10-15 22:35:52
在javascript代码中放置一个版本,当您进行更改时,该版本将会更新,如下所示
<script src="/code.js?ver=123" type="text/javascript"></script>
然后,他们将始终获得新版本。
https://stackoverflow.com/questions/206783
复制相似问题