caching - 浏览器何时自动清除外部 JavaScript 文件的缓存?

标签 caching browser

我有一个可以随时编辑的 JavaScript 资源。一旦编辑完成,我希望它能够相对较快地传播到用户的浏览器(例如可能 15 分钟左右),但是,编辑此资源的频率很少(可能每月 2 次)。

我宁愿将资源缓存在浏览器中,因为它会被频繁检索,但我也希望缓存以半定期的间隔在浏览器上重置。

我知道当我请求资源时可以传递无缓存 header ,但我想知道如果我没有传递无缓存,缓存何时会在浏览器上自动重置。

我想这对于每个浏览器来说都是独立的,但我不确定。

我尝试用 Google 搜索此内容,但我发现的大多数点击都是关于清除浏览器缓存的……这不是我要找的内容。

最佳答案

您可以将版本字符串作为 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>

   

关于caching - 浏览器何时自动清除外部 JavaScript 文件的缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/206783/

相关文章:

php - 在 PHP 中缓存数据

java - Spring Redis 在使用@Cacheable 或@CachePut 时将 POJO 保存为不同的类型

asp.net - StackExchange.Redis StringGet 超时

jquery - 如何禁用浏览器缓存?

HTTP 缓存控制 : no expire date

javascript - ExtJS : handling browser exit event (click on cross-exit)

java - SWT 浏览器似乎在我丢弃后仍然存在

javascript - 基于UA的动态PHP内容条件加载

c# - WPF 所见即所得编辑器

c# - 使用 IE 缓存