如何用JavaScript清除浏览器缓存?
我们部署了最新的JavaScript代码,但是我们无法获得最新的JavaScript代码。
编者按:这个问题在以下几个地方有半重复,下面第一个问题的答案可能是最好的。这个公认的答案不再是理想的解决方案。
如何强制浏览器重新加载缓存的CSS/JS文件?
如何强制客户端刷新JavaScript文件?
动态重载本地Javascript源/ json数据
如何用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中,你也可以强制每小时重新加载一次代码,就像这样:
<?php
echo '<script language="JavaScript" src="js/myscript.js?token='.date('YmdH').'">';
?>
or
<script type="text/javascript" src="js/myscript.js?v=<?php echo date('YmdHis'); ?>"></script>
我已经通过使用解决了这个问题 ETag
Etag类似于指纹,如果给定URL上的资源发生变化,则必须生成一个新的Etag值。比较它们可以确定资源的两个表示是否相同。
尝试更改JavaScript文件的src?从这个:
<script language="JavaScript" src="js/myscript.js"></script>
:
<script language="JavaScript" src="js/myscript.js?n=1"></script>
这个方法应该强制浏览器加载JS文件的新副本。
裁判: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
});
试试这个
<script language="JavaScript" src="js/myscript.js"></script>
:
<script language="JavaScript" src="js/myscript.js?n=1"></script>