'use strict'; self.addEventListener('install',event=>event.waitUntil(self.skipWaiting())); self.addEventListener('activate',event=>event.waitUntil(self.clients.claim())); self.addEventListener('notificationclick',event=>{ event.notification.close(); const data=event.notification.data||{}; event.waitUntil((async()=>{ const windows=await self.clients.matchAll({type:'window',includeUncontrolled:true}); let client=windows.find(item=>'focus' in item); if(client)await client.focus(); else client=await self.clients.openWindow('./'); client?.postMessage(data); })()); });