微博H5缓存来自HTTP Cache、Service Worker及浏览器存储(localStorage/indexedDB);需在浏览器设置中清除weibo.com域名数据,或手动卸载Service Worker并关闭所有相关标签页。
微博 HTML5 版本(即通过手机浏览器访问 weibo.com 或 m.weibo.cn)的缓存主要来自三处:HTTP Cache(服务端设置的 Cache-Control、ETag)、Service Worker(部分页面已注册,用于离线加载)、以及浏览器自身的 localStorage / indexedDB(存储用户登录态、Feed 列表、评论草稿等)。这些不会出现在 App 的「清理缓存」入口里,得进浏览器本身处理。
不同系统操作路径差异大,关键不是找“微博专属按钮”,而是清对应域名的数据:
chrome://settings/siteData → 搜索 weibo.com 或 m.weibo.cn → 点击条目 → 选中 Cache、Service Workers、IndexedDB、Local Storage → 点击 Remove
网站设置 → 关闭 允许网站存储数据(下次刷新会自动清空)因为微博 H5 大量依赖前端缓存策略:
Service Worker 会拦截网络请求并返回旧缓存,即使你刷新,它也可能不触发更新逻辑localStorage 里存的 feed_timestamp 或 user_session 过期时间可能被设为 7 天,不手动删就一直用旧数据Cache-Control: public, max-age=31536000(1 年),浏览器根本不会重发请求真正生效的操作只有两个:在浏览器设置里删掉该域名所有数据,或在控制台强制 unregister Service Worker:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.getRegistrations().then(regs => {
regs.forEach(reg => reg.unregister());
});
}
这是正常现象——微博把登录凭证(SSO login status)、用户信息(user_profile)、甚至首页骨架都存在 localStorage 和 indexedDB 里。清完必须重新登录,且首次加载会变慢(所有 JS/CSS/JSON 都要重下)。更隐
蔽的问题是:Service Worker 卸载后,如果页面没完全关闭,残留的 worker 可能还在后台运行,导致后续请求仍走缓存。建议清理后彻底关闭所有微博相关 Tab,再重启浏览器。