提问者:小点点

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


我绑清除浏览器缓存编程。我这样做是因为我已经部署了一个新版本的应用程序,但浏览器从缓存获取旧版本和内容。

我还使用了位置。重新加载(真)但它没有清除缓存,只是重新加载当前页面。


共3个答案

匿名用户

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

例如

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

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

匿名用户

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

其中一种方法是使用Gulp-rev。

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

匿名用户

你不能从JavaScript做到这一点。你能做的是:

在内容url的末尾添加一些变量字符串。示例:

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

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

这基本上愚弄了浏览器,你试图加载的网址是一个新的,它跳过了在缓存中查找它。

时间戳方法确实有一个缺点,即它从未使用过浏览器缓存。

另外,请确保您的HTML文件设置了正确的内容头,以便不会缓存HTML本身。检查如何跨所有浏览器控制网页缓存?有关缓存控制头的详细信息。