火狐浏览器Manifest缓存需多路径协同清理:一、硬刷新绕过缓存;二、卸载Service Worker并清空Cache Storage;三、通过about:cache精准删除manifest.json条目;四、用“管理数据”清除站点全部本地存储;五、修改about:config禁用相关缓存机制。

如果您在使用火狐浏览器时发现网页应用(如PWA)图标未更新、离线功能失效、启动画面异常或资源版本未同步,很可能是Manifest缓存(即Web App Manifest相关缓存条目)未及时刷新所致。Manifest缓存并非独立存储项,而是嵌套于Service Worker、HTTP缓存及磁盘缓存结构中,需通过多路径协同清理。以下是针对Manifest缓存的五种精准管理方法:
一、强制刷新并绕过所有缓存重新加载Manifest
该方式直接向服务器发起全新请求,忽略本地所有缓存层(包括内存缓存、磁盘缓存及Service Worker拦截),确保浏览器重新获取并解析最新的manifest.json文件,适用于开发调试或紧急验证更新效果。
1、聚焦目标网页标签页,确保光标不在地址栏内。
2、按下Ctrl + Shift + R(Windows/Linux)或 Command + Shift + R(macOS)执行硬性重载。
3、打开开发者工具(F12),切换至“网络”(Network)标签页,勾选“禁用缓存”(Disable cache)选项后刷新页面。
4、在“网络”列表中查找manifest.json,确认其状态码为200且“Size”列显示“from disk cache”或“from service worker”已消失,转为实际传输字节数。
二、清除Service Worker注册与缓存(Manifest依赖核心)
Manifest本身不被单独缓存,但其声明的图标、启动URL等资源由关联的Service Worker控制缓存策略;若Service Worker未更新,Manifest变更将无法生效。此方法彻底注销并清空当前站点的Service Worker及其Cache Storage,切断Manifest资源的旧缓存链路。
1、在火狐地址栏输入about:debugging#/runtime/this-firefox并回车。
2、在“此Firefox”面板中,点击左侧“Service Workers”展开项。
3、找到目标网站对应的Service Worker条目,确认其状态为“已激活”或“正在等待”。
4、点击右侧“卸载”(Unregister)按钮,移除该Worker注册。
5、点击“缓存存储”(Cache Storage)链接,在右侧窗口中点击“清除存储”(Clear storage)按钮。
三、通过about:cache定向定位并删除Manifest相关缓存条目
Manifest文件作为普通HTTP资源,会被写入火狐主磁盘缓存(disk cache)。该方法可精确检索manifest.json的缓存Key并触发清除,避免全量缓存清理影响其他网站性能。
1、在地址栏输入about:cache并回车。
2、点击“主缓存(disk)”下方的“列出缓存条目”链接。
3、在新页面按Ctrl + F(Windows/Linux)或 Command + F(macOS)打开搜索框。
4、输入目标站点域名后加/manifest.json(例如:example.com/manifest.json),定位匹配条目。
5、复制该条目的“Key”字段完整值(形如http://example.com/manifest.json?_v=123),粘贴至新标签页地址栏并访问,页面将返回"Not in cache"或立即清除对应缓存。
四、使用“管理数据”功能批量清除指定站点全部本地存储(含Manifest关联数据)
Manifest常与LocalStorage、IndexedDB及Cookie协同工作,当Manifest更新后其他存储未同步时易引发行为异常。本方法可一次性清除目标域名下所有持久化数据,确保Manifest环境完全重置。
1、进入“设置”→“隐私与安全”→“Cookies 和网站数据”区域。
2、点击“管理数据…”按钮,打开已授权站点数据列表。
3、在顶部搜索框中输入目标网站完整域名(如 https://example.com),按回车确认。
4、在结果列表中勾选该域名对应行,点击右下角“删除”按钮。
5、操作完成后,关闭窗口并重启浏览器以确保所有存储上下文释放。
五、修改about:config强制禁用Manifest缓存机制(高级干预)
火狐默认对manifest.json启用启发式缓存策略(如基于ETag或Last-Modified)。此方法通过禁用HTTP缓存响应头解析逻辑,使Manifest文件始终走网络请求,适用于长期开发测试环境或特定CDN配置冲突场景。
1、在地址栏输入about:config并回车,点击“接受风险并继续”。
2、在搜索栏输入network.http.cache.non_subresource,双击将其值设为false。
3、再搜索dom.manifest.enabled,双击设为false以临时停用Manifest解析(验证后务必恢复为true)。
4、搜索browser.cache.disk.enable,双击设为false,强制所有缓存转向内存(memory only),重启浏览器生效。


















