async function registerServiceWorker(){if('serviceWorker'in navigator){try{await new Promise(resolve=>setTimeout(resolve,3000));const registration=await navigator.serviceWorker.register('/sw.js',{scope:'/'});console.log('Service Worker注册成功,范围:',registration.scope);iziToast.success({title:'Service Worker 注册成功',message:'范围:'+registration.scope+'
页面加载速度将会大幅度提升',timeout:5000,displayMode:2,position:'topRight'});if(registration.waiting){console.log('有新的Service Worker等待激活')}registration.addEventListener('updatefound',()=>{const installingWorker=registration.installing;console.log('发现新的Service Worker正在安装:',installingWorker);installingWorker.addEventListener('statechange',()=>{switch(installingWorker.state){case'installed':if(navigator.serviceWorker.controller){console.log('新的Service Worker已安装,等待激活')}else{console.log('Service Worker首次安装并激活')}break;case'activated':console.log('Service Worker已激活');break}})})}catch(error){console.error('Service Worker注册失败:',error);iziToast.error({title:'Service Worker注册失败',message:'ERROR: '+error,timeout:5000,displayMode:2,position:'topRight',buttons:[['',(instance,toast)=>{try{navigator.serviceWorker.getRegistrations().then(registrations=>{registrations.forEach(registration=>{registration.unregister()})})}catch(error){}localStorage.setItem('serviceWorkerEnabled','0');iziToast.success({title:'Service Worker 已禁用',timeout:5000,displayMode:2,position:'topRight'});instance.hide({transitionOut:'fadeOut'},toast,'button')},true],]})}}else{console.log('浏览器不支持Service Worker');localStorage.setItem('serviceWorkerEnabled','0')}}if(localStorage.getItem('serviceWorkerEnabled')!=='0'){window.addEventListener('load',registerServiceWorker)}navigator.serviceWorker.addEventListener('controllerchange',()=>{console.log('Service Worker控制器已变更')});