self.addEventListener('install', (event) => { console.log('👷', 'install', event); self.skipWaiting(); }); self.addEventListener('activate', (event) => { console.log('👷', 'activate', event); return self.clients.claim(); }); /* self.addEventListener('fetch', function(event) { // console.log('👷', 'fetch', event); event.respondWith(fetch(event.request)); }); */ self.addEventListener('fetch', event => { console.log('👷', 'fetch', event); const url = new URL(event.request.url); // If this is an incoming POST request for the // registered "action" URL, respond to it. if (event.request.method === 'POST' && url.pathname === 'share.php') { event.respondWith((async () => { const formData = await event.request.formData(); const link = formData.get('link') || ''; const responseUrl = await saveBookmark(link); return Response.redirect(responseUrl, 303); })()); } });