火狐浏览器中service worker缓存导致网站异常时,应清除其专属缓存:①用地址栏锁图标一键清空当前站点全部数据;②通过about:cache手动驱逐指定缓存条目;③在管理数据界面批量移除目标域名及子域的service worker。

当你在火狐浏览器中访问某个网站(如 https://app.slack.com)时,页面反复白屏、功能按钮失灵或离线消息不更新,很可能是该站点的 Service Worker 缓存了过期脚本并持续拦截网络请求——此时必须清除其专属缓存工作线程,不能只清普通网页缓存。
用地址栏锁图标一键清除当前站点全部数据(含 Service Worker)
这是最快的方法,适用于你已经打开目标网站的场景。操作后,该域名及其所有子域(如 notifications.slack.com、api.slack.com)的 Service Worker、Cache Storage、localStorage 和 Cookie 全部被清空。
1、确保目标网站页面已完全加载,地址栏显示的是该站点完整 URL(不能是 about:blank 或新标签页首页)。
2、点击地址栏左侧的锁形图标(若网站为 HTTP 协议,则显示灰色信息图标,同样有效)。
3、在弹出面板中点击「连接是安全的」下方的「更多信息」链接。
4、切换到「权限」标签页 → 拉到底部 → 点击「清除数据」按钮。
【此操作不可撤销,且不经过二次确认】浏览器会立即终止该站点所有正在运行的 Service Worker,并删除其注册记录、缓存存储和离线资源,但其他任何网站的数据完全不受影响。
通过 about:cache 页面手动触发指定域名 Service Worker 缓存条目清除
该方法不依赖当前是否打开网站,可验证 Service Worker 是否仍在提供旧响应,适合开发者或需要确认缓存是否真正失效的用户。
方法一:定位并访问磁盘缓存 Key 强制清除
1、在火狐地址栏输入 about:cache 并回车。
2、点击「主缓存(disk)」下方的「列出缓存条目」链接。
3、按 Ctrl + F 搜索目标域名(例如 slack.com),注意查找 Key 字段以 https:// 开头且路径中含 /sw.js 或 /service-worker 的条目。
4、复制该条目的完整 Key 路径(例如 https://app.slack.com/sw.js)。
5、将该路径粘贴至新标签页地址栏并访问——页面返回 “Not in cache” 即表示该缓存条目已被强制驱逐,Service Worker 下次启动时将重新拉取最新版本。
方法二:直接检查 Service Worker 状态
1、在目标网站页面按 F12 打开开发者工具 → 切换到「存储」面板 → 展开左侧「Service Workers」。
2、确认右侧是否显示“已启用”及当前注册的脚本 URL;若存在,点击右上角「取消注册」按钮即可停用并清除其控制范围内的缓存。
这一步操作起来很简单,直接点击就能停用,但不会删除已缓存的静态资源,需配合上一步或刷新页面触发重注册。
用管理数据界面批量移除目标域名的 Service Worker 存储
当你需要同时清理一个主域下多个子域的 Service Worker(比如 github.com 下的 gist.github.com、docs.github.com),这个方法支持预览、多选、不误删。
第一步:打开管理数据界面
点击右上角三条横线菜单 → “设置” → 左侧“隐私与安全” → 向下滚动至“Cookies 和网站数据”区域 → 点击“管理数据…”。
第二步:搜索并定位目标域名
在顶部搜索框中输入二级域名(例如 github.com),注意不要带 www、https:// 或路径;列表实时刷新,会显示该主域及所有已注册 Service Worker 的子域条目。
第三步:勾选并移除
勾选左侧所有相关条目(每项右侧会标注“Service Worker”字样)→ 点击右下角“移除选定项”。
浏览器会同步注销所有匹配域名的 Service Worker,并清空其 Cache Storage 和 IndexedDB 数据,但不会影响未勾选的其他网站。











