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

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

编者按:这个问题在以下几个地方有半重复,下面第一个问题的答案可能是最好的。这个公认的答案不再是理想的解决方案。

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

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

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


当前回答

由于浏览器缓存相同的链接,您应该在url末尾添加一个随机数。 new Date(). gettime()生成一个不同的数字。

只需添加新的Date().getTime()链接结束 调用

'https://stackoverflow.com/questions.php?' + new Date().getTime()

输出:https://stackoverflow.com/questions.php?1571737901173

其他回答

如果你使用php可以做:

 <script src="js/myscript.js?rev=<?php echo time();?>"
    type="text/javascript"></script>

Cache.delete()可以用于新的chrome, firefox和opera。

裁判:https://developer.mozilla.org/en-US/docs/Web/API/Cache/delete

Cache.delete ()

方法

语法:

cache.delete(request, {options}).then(function(found) {
  // your cache entry has been deleted if found
});

我倾向于对框架进行版本化,然后将版本号应用于脚本和样式路径

<cfset fw.version = '001' />
<script src="/scripts/#fw.version#/foo.js"/>

由于浏览器缓存相同的链接,您应该在url末尾添加一个随机数。 new Date(). gettime()生成一个不同的数字。

只需添加新的Date().getTime()链接结束 调用

'https://stackoverflow.com/questions.php?' + new Date().getTime()

输出:https://stackoverflow.com/questions.php?1571737901173