问题描述
本博客部署在 GitHub Pages,使用 Jekyll 构建。每次更新内容后访问网站,页面不会自动展示最新内容,左下角会弹出 "Content updated. [refresh]" 的提示条,必须手动点击 refresh 才会执行 location.reload() 刷新页面。
更烦的是,每个页面都要单独刷新——比如改了导航栏或 footer 这种公共组件,几十篇文章页面都需要逐个手动点 refresh,体验很差。
根因定位
问题出在项目中的 Service Worker(SW),这是一个手写的离线缓存方案(非 Workbox),位于仓库根目录的 sw.js,入口注册在 js/sw-registration.js。
2026/6/11大约 3 分钟