mirror of
https://github.com/multipleof4/devsune.git
synced 2026-01-14 00:17:56 +00:00
Update sw.js
This commit is contained in:
12
public/sw.js
12
public/sw.js
@@ -1,19 +1,19 @@
|
|||||||
const log = (...a) => console.log('[SW]', ...a)
|
const V="1"
|
||||||
|
const send=a=>self.clients.matchAll({type:"window",includeUncontrolled:true}).then(cs=>cs.forEach(c=>c.postMessage(a)))
|
||||||
|
|
||||||
self.addEventListener('install',e=>{
|
self.addEventListener('install',e=>{
|
||||||
log('install')
|
|
||||||
self.skipWaiting()
|
self.skipWaiting()
|
||||||
})
|
})
|
||||||
|
|
||||||
self.addEventListener('activate',e=>{
|
self.addEventListener('activate',e=>{
|
||||||
log('activate')
|
e.waitUntil((async()=>{await self.clients.claim();await send({type:'SW_ACTIVE',v:V,ts:Date.now()})})())
|
||||||
e.waitUntil(self.clients.claim())
|
|
||||||
})
|
})
|
||||||
|
|
||||||
self.addEventListener('fetch',e=>{
|
self.addEventListener('fetch',e=>{
|
||||||
if (e.request.mode === 'navigate') log('navigate', e.request.url)
|
if(e.request.mode==='navigate') send({type:'SW_NAVIGATE',url:e.request.url,ts:Date.now()})
|
||||||
})
|
})
|
||||||
|
|
||||||
self.addEventListener('message',e=>{
|
self.addEventListener('message',e=>{
|
||||||
log('message', e.data)
|
if(e.data&&e.data.type==='PING'){(e.source||null)?.postMessage({type:'PONG',v:V,ts:Date.now()})||send({type:'PONG',v:V,ts:Date.now()})}
|
||||||
|
else send({type:'SW_MESSAGE',data:e.data,ts:Date.now()})
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user