static-router-no-fetch-handler-sw.js (822B)
1 'use strict'; 2 3 import {routerRules} from './router-rules.js'; 4 import { 5 recordError, 6 getRecords, 7 resetRecords } from './static-router-sw.sub.js'; 8 9 self.addEventListener('install', async e => { 10 e.waitUntil(caches.open('v1').then( 11 cache => {cache.put('cache.txt', new Response('From cache'))})); 12 13 const params = new URLSearchParams(location.search); 14 const key = params.get('key'); 15 try { 16 await e.addRoutes(routerRules[key]); 17 } catch (e) { 18 recordError(e); 19 } 20 self.skipWaiting(); 21 }); 22 23 self.addEventListener('activate', e => { 24 e.waitUntil(clients.claim()); 25 }); 26 27 self.addEventListener('message', function(event) { 28 if (event.data.reset) { 29 resetRecords(); 30 } 31 if (event.data.port) { 32 const {requests, errors} = getRecords(); 33 event.data.port.postMessage({requests, errors}); 34 } 35 });