Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | navigator.serviceWorker.getRegistrations().then(function (registrations) { for (let registration of registrations) { registration.unregister(); } }); // https://developers.google.com/web/tools/workbox/guides/troubleshoot-and-debug importScripts('https://storage.googleapis.com/workbox-cdn/releases/5.0.0-beta.1/workbox-sw.js'); // Install newest // https://developers.google.com/web/tools/workbox/modules/workbox-core workbox.core.skipWaiting(); workbox.core.clientsClaim(); // Cache static assets that aren't precached workbox.routing.registerRoute( /\.(?:js|css|json5)$/, new workbox.strategies.StaleWhileRevalidate({ cacheName: 'static-resources', }) ); // Cache the Google Fonts stylesheets with a stale-while-revalidate strategy. workbox.routing.registerRoute( /^https:\/\/fonts\.googleapis\.com/, new workbox.strategies.StaleWhileRevalidate({ cacheName: 'google-fonts-stylesheets', }) ); // Cache the underlying font files with a cache-first strategy for 1 year. workbox.routing.registerRoute( /^https:\/\/fonts\.gstatic\.com/, new workbox.strategies.CacheFirst({ cacheName: 'google-fonts-webfonts', plugins: [ new workbox.cacheableResponse.CacheableResponsePlugin({ statuses: [0, 200], }), new workbox.expiration.ExpirationPlugin({ maxAgeSeconds: 60 * 60 * 24 * 365, // 1 Year maxEntries: 30, }), ], }) ); // MESSAGE HANDLER self.addEventListener('message', event => { if (event.data && event.data.type === 'SKIP_WAITING') { switch (event.data.type) { case 'SKIP_WAITING': // TODO: We'll eventually want this to be user prompted // workbox.core.skipWaiting(); // workbox.core.clientsClaim(); // TODO: Global notification to indicate incoming reload break; default: console.warn(`SW: Invalid message type: ${event.data.type}`); } } }); workbox.precaching.precacheAndRoute(self.__WB_MANIFEST); // TODO: Cache API // https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/cache-api // Store DICOMs? // Clear Service Worker cache? // navigator.storage.estimate().then(est => console.log(est)); (2GB?) |