繁体   English   中英

使用jquery / Angularjs清除浏览器缓存

[英]clear browser cache using jquery/Angularjs

我想以编程方式清除浏览器缓存。 我这样做是因为我已经部署了该应用程序的新版本,但是浏览器从缓存中获取了旧版本和内容。 但是我想在浏览器获取新版本并从服务器加载最新应用程序时清除缓存。

我也使用location.reload(true); 但是它并不会清除缓存,只是重新加载当前页面。

您可以使用版本技巧清除浏览器缓存

例如,

<script src="custom.js?version=1.1.1"></script>

只需在文件类型的末尾添加虚拟版本,它将重新加载代码

您真的不能使用Angular或JQuery清除缓存。 一种方法是强制浏览器请求新资源。

一种方法是使用gulp-rev。

https://github.com/sindresorhus/gulp-rev

无法通过JavaScript做到这一点。 您可以执行以下操作:

在内容网址的末尾附加一些可变字符串。 例:

//example.com/script.js?version=1.0

要么

var timestamp = new Date().getTime()
var url = "//example.com/script.js?ts=" + timestamp

这从根本上愚弄了浏览器,您尝试加载的URL是一个新的URL,并且跳过了在缓存中查找它的过程。

时间戳方法确实有一个缺点,就是它永远不会利用浏览器缓存。

另外,请确保您的HTML文件具有正确的内容标头设置,以便不缓存html本身。 结帐如何在所有浏览器中控制网页缓存? 有关缓存控制标头的详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM