在Chrome中,可以从开发工具中清除Service Worker缓存.
我们怎样才能在Firefox中实现这一目标?
我到目前为止尝试过:
取消注册服务 about:serviceworkers
清空下的缓存 about:preferences#privacy
用来重新加载页面 Ctrl + F5
但它还在那里......
在Firefox的地址栏中键入此内容,然后取消注册所需的服务工作者.
about:debugging#workers
您可以在Firefox Web Console中执行以下代码段:
caches.keys().then(function (cachesNames) { console.log("Delete " + document.defaultView.location.origin + " caches"); return Promise.all(cachesNames.map(function (cacheName) { return caches.delete(cacheName).then(function () { console.log("Cache with name " + cacheName + " is deleted"); }); })) }).then(function () { console.log("All " + document.defaultView.location.origin + " caches are deleted"); });
有关此代码段的详细信息,请查看MDN上的" 缓存Web API"页面.
您无法在当前版本的Firefox中使用Storage Inspector清除Service Worker缓存.请参阅有关当前可用功能的存储检查文档 您无法使用about:preferences#privacy
或取消注册Service Worker,因为Service Worker缓存独立于浏览器HTTP缓存而只能由您的脚本管理.服务工作者规范的相关摘录:
5.2了解缓存生存期 缓存实例不是浏览器HTTP缓存的一部分.Cache对象正是作者必须自己管理的对象.除非作者明确要求,否则不会更新Cache对象.除非作者删除条目,否则Cache对象不会过期.Cache对象不会因为更新服务工作者脚本而消失.也就是说,缓存不会自动更新.必须手动管理更新.这意味着作者应该按名称对其缓存进行版本化,并确保仅使用可以安全操作的服务工作者版本的缓存.