有没有办法删除我的用户缓存?

Is there anyway to delete my users cache?

我制作了一个 sw.js 文件来缓存我的聊天网站,以便用户可以在离线模式下打开,但是,Service Worker 文件导致了很多问题,包括无法看到新消息和很多网站崩溃所以我被迫删除它。遗憾的是,我的 none 当前用户可以手动删除缓存!请注意,我保留了 sw.js 文件,但它现在是空的,所以我可以编写任何代码来删除我当前的所有用户缓存吗?

我认为这不相关,但我的应用程序使用 django

要删除缓存,可以使用内置缓存API。

caches.keys().then(cacheNames => {
    cacheNames.forEach(value => {
        caches.delete(value);
    });
})

仅从 sw.js 文件中删除内容是不够的。如果已经安装了一个 service worker 并且 运行ning 那么我建议你也“取消注册”。你可以这样做 以编程方式使用以下代码。

navigator.serviceWorker.getRegistrations().then(function(registrations) {
    for(let registration of registrations) {
        registration.unregister()
    } 
})

请注意,您只需要在所有用户的浏览器中运行此代码一次。