Chrome 网页一直显示旧内容?分清 HTTP 缓存和 Service Worker
网站已经更新,Chrome 里刷新多少次还是旧界面,很多人以为是网络问题。其实多半是缓存层在起作用。用开发者工具定位:
网站已经更新,Chrome 里刷新多少次还是旧界面,很多人以为是网络问题。其实多半是缓存层在起作用。用开发者工具定位:
- 按 F12 打开 Network 面板,勾选 Disable cache,再刷新。如果这样就好了,是普通 HTTP 缓存,用 Ctrl+Shift+R 强制刷新即可。
- 还是旧的,就看 Network 里请求的 Size 列。显示 “(ServiceWorker)” 说明页面由 Service Worker 返回,根本没去服务器。
- 打开 Application → Service Workers,勾选 Update on reload,或者点 Unregister 只注销这个站点的 Worker。
- 不要一上来就“清除所有站点数据”。网页版笔记、邮件之类的应用可能有未同步的本地数据,先确认已同步,再在 Application → Storage 里按需清理。
- 如果连 Disable cache + 注销 Worker 都没用,再看响应头和服务器本身,可能是 CDN 还没刷新。
完整的定位步骤和恢复方法:https://roxi.cc/swcache26.html
由 Roxi 背后的小团队撰写。
Write a comment