浏览器缓存数据可以删除吗?

问题描述 投票:0回答:1

我有一个使用 Service Worker 配置的 Angular PWA。 Service Worker 正在缓存大型 PDF 文件,但这导致我们的一些用户需要大量缓存存储。 更多信息这里

我正在考虑添加下面的函数,以便在加载新版本的应用程序时调用,但是在环境中进行测试时,虽然它确实删除了缓存条目 - 没有任何数据从浏览器缓存存储中删除。

async removeAllCaches(cacheName: string){
    const allCaches = await caches.keys();
    const applicableCaches = allCaches.filter(c => c.toLocaleLowerCase().indexOf(cacheName.toLocaleLowerCase()) > -1);

    for(var key of applicableCaches){
      await caches.delete(key);
    }
  }

前后缓存存储大小保持不变:

是否可以通过编程方式删除浏览器缓存数据? 我也知道关于处理这个问题有一个正在进行的讨论,但我具体是删除缓存的数据

javascript angular typescript progressive-web-apps browser-cache
1个回答
0
投票

是的,您可以通过这种方式清除缓存存储:

caches.keys().then(function(names) {
    for (let name of names)
        caches.delete(name);
});
© www.soinside.com 2019 - 2024. All rights reserved.