Chrome中网站加载旧资源问题通常由Service Worker缓存导致,可通过开发者工具注销、chrome://serviceworker-internals全局清除、chrome://settings/siteData整站删除、Application面板一键清空或Network禁用缓存五种方式解决。

如果您在Chrome中访问网站时持续加载旧版本资源,即使服务器已更新内容,问题很可能源于Service Worker长期驻留并控制离线缓存逻辑。以下是手动强制注销并清理Service Worker、实现离线缓存版本强制更新与调试的多种操作路径:
一、通过开发者工具精准注销并逐项清除单站点Service Worker及Cache Storage
此方法直接作用于当前打开的目标网站,先终止其后台服务进程,再删除关联的缓存条目与脚本文件,确保新版本资源不被旧Service Worker拦截或返回过期响应。
2、按下F12(Windows/Linux)或 Cmd+Option+I(macOS)打开开发者工具。
3、切换到Application(应用程序)选项卡。
4、在左侧边栏点击Service Workers,查看右侧注册列表。
5、找到当前站点对应的Service Worker条目,点击其下方的Unregister按钮。
6、展开左侧边栏中的Cache Storage,定位与该站点匹配的缓存名称(通常含域名或版本标识)。
7、右键每个相关缓存条目,选择Delete,逐个移除。
8、刷新页面后,浏览器将重新注册新Service Worker(如有)并拉取最新资源。

二、使用 chrome://serviceworker-internals 全局注销所有匹配源的Service Worker实例
该内置页面提供浏览器级全量视图,支持对任意注册项执行强制注销,尤其适用于跨子域、多环境部署引发的缓存污染,可一次性解除多个路径下同源Service Worker的控制权。
1、在地址栏输入chrome://serviceworker-internals/并按回车键。
2、等待页面加载完成,列出全部已注册Service Worker及其源地址、状态和启动时间。
3、查找目标网站完整URL(例如https://example.com/),确认其状态为activated或waiting。
4、点击对应条目右侧的Unregister按钮。
5、若存在多个同源但路径不同的注册(如/sw.js和/app/sw.js),需分别点击其Unregister按钮。
6、关闭该页面后,重新访问原网站验证是否加载新版本资源。

三、通过 chrome://settings/siteData 页面定向清除整站数据(含Service Worker脚本与缓存)
此方式以域名粒度彻底删除包括Service Worker脚本、Cache Storage、IndexedDB、LocalStorage在内的全部持久化数据,不依赖页面是否可访问,适合页面已崩溃、重定向异常或无法触发注册流程时使用。
1、在地址栏输入chrome://settings/siteData并回车。
2、在页面顶部搜索框中输入目标网站的完整域名(例如example.com,无需https://前缀)。
3、在搜索结果中点击对应站点右侧的三个点图标。
4、选择Remove选项。
5、确认弹窗提示后,系统将立即删除该域名下所有本地存储数据,包括已安装的Service Worker。
6、重新访问该网站时,所有资源将从服务器重新下载并注册新Service Worker(如有)。

四、使用开发者工具“Clear storage”功能一键清空当前站点全部缓存与Service Worker
该操作在Application选项卡中集成多项清除能力,可一次性勾选并执行Cache Storage、Service Workers、Cookies等项目,避免遗漏关键缓存层,适用于快速复位单站点运行环境。
1、在Chrome中打开目标网站页面。
2、按下F12或右键页面选择“检查”,启动开发者工具。
3、点击顶部标签栏中的Application选项卡;若未显示,点击右上角“⋯”→“More Tools”→“Application”。
4、在左侧边栏展开Clear storage部分。
5、确认右侧Origin字段显示为当前网站的完整协议+域名(例如https://example.com)。
6、勾选Cache Storage和Service Workers两项。
7、点击Clear site data按钮,等待清除完成。
8、关闭开发者工具后,按Ctrl + R(Windows/Linux)或Command + R(macOS)刷新页面验证效果。
五、启用开发者工具Network面板禁用缓存并强制重载,辅助调试Service Worker行为
该设置使Chrome在开发者工具开启期间彻底忽略所有缓存策略,包括Service Worker的fetch事件拦截,每次HTTP请求均直连服务器,适用于持续调试阶段验证资源是否真实更新,或判断Service Worker是否仍在生效。
1、按下F12打开开发者工具。
2、切换至顶部的Network选项卡。
3、勾选顶部复选框Disable cache (while DevTools is open)。
4、保持开发者工具开启状态,刷新当前页面。
5、观察Network面板中所有请求的状态码与响应头,确认是否全部返回200且无from ServiceWorker字样。
6、若此时资源正常更新,则证明原问题确由Service Worker缓存导致,应结合前述方法永久清除。











