export function registerServiceWorker() { if (typeof window === "undefined" || !("serviceWorker" in navigator)) { console.log("Service Worker 不被支持") return } const register = () => { navigator.serviceWorker .register("/sw.js") .then((registration) => { // 检查更新 registration.addEventListener("updatefound", () => { const newWorker = registration.installing if (newWorker) { newWorker.addEventListener("statechange", () => { if (newWorker.state === "installed" && navigator.serviceWorker.controller) { // 新的 Service Worker 已安装 } }) } }) }) .catch((error) => { console.error("Service Worker 注册失败:", error) }) } // 如果页面已经加载完成,直接注册;否则等待 load 事件 if (document.readyState === "complete") { register() } else { window.addEventListener("load", register) } } export function unregisterServiceWorker() { if (typeof window === "undefined" || !("serviceWorker" in navigator)) { return } navigator.serviceWorker.ready .then((registration) => { registration.unregister() }) .catch((error) => { console.error("Service Worker 注销失败:", error) }) }