清除 JavaScript 中的缓存

2022-08-30 01:16:39

如何使用 JavaScript 清除浏览器缓存?

我们部署了最新的 JavaScript 代码,但无法获得最新的 JavaScript 代码。

编者按:这个问题在以下地方是半重复的,以下第一个问题中的答案可能是最好的。这个被接受的答案不再是理想的解决方案。

如何强制浏览器重新加载缓存的CSS / JS文件?

如何强制客户端刷新 JavaScript 文件?

动态重新加载本地 Javascript 源/ json 数据


答案 1

更新:请参阅 location.reload() 没有关于此非标准参数的背景参数,以及 Firefox 如何可能是唯一受支持的现代浏览器。


您可以调用 window.location.reload(true) 来重新加载当前页面。它将忽略任何缓存的项目,并从服务器检索页面,css,图像,JavaScript等的新副本。这不会清除整个缓存,但具有清除您所在页面的缓存的效果。

但是,最好的策略是按照其他各种答案中提到的路径或文件名进行版本控制。此外,请参阅 Revving 文件名:由于不用作版本控制方案的原因,请勿使用 querystring。?v=n


答案 2

您无法使用javascript清除缓存。一种常见的方法是将修订版号或上次更新的时间戳附加到文件中,如下所示:

myscript.123.js

myscript.js?updated=1234567890