1importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.2.0/workbox-sw.js'); 2 3workbox.routing.registerRoute( 4 /\/(?:)$/, 5 new workbox.strategies.NetworkFirst({ 6 "cacheName": "homepage", 7 plugins: [ 8 new workbox.expiration.Plugin({ 9 maxEntries: 10000, 10 maxAgeSeconds: 31536000 11 }) 12 ] 13 }) 14); 15workbox.routing.registerRoute( 16 /\/(.*\/)(selling|booking|api|customer_area)/, 17 new workbox.strategies.NetworkOnly({ 18 "cacheName": "live", 19 }) 20); 21workbox.routing.registerRoute( 22 /\/(.*\/)(page|offer|category|menu)(\/\d)/, 23 new workbox.strategies.NetworkFirst({ 24 "cacheName": "content", 25 }) 26); 27workbox.routing.registerRoute( 28 /\.(?:css|js)$/, 29 new workbox.strategies.NetworkFirst({ 30 "cacheName": "assets", 31 plugins: [ 32 new workbox.expiration.Plugin({ 33 maxEntries: 10000, 34 maxAgeSeconds: 31536000 35 }) 36 ] 37 }) 38); 39workbox.routing.registerRoute( 40 new RegExp('^https://cdn.hoteligy.com/.*'), 41 workbox.strategies.cacheFirst({ 42 plugins: [ 43 new workbox.cacheableResponse.Plugin({ 44 statuses: [0, 200] 45 }) 46 ] 47 }), 48); 49 50const FALLBACK_HTML_URL = "/pwa/index_offline.html"; 51workbox.precaching.precacheAndRoute([FALLBACK_HTML_URL]); 52workbox.routing.setDefaultHandler(new workbox.strategies.NetworkOnly()); 53 54workbox.routing.setCatchHandler(({ event }) => { 55 switch (event.request.destination) { 56 case 'document': 57 return caches.match(FALLBACK_HTML_URL); 58 break; 59 default: 60 return Response.error(); 61 } 62}); 63 64 65if (workbox) { 66 console.log(`Yay! Workbox is loaded ð`); 67} else { 68 console.log(`Boo! Workbox didn't load ð¬`); 69}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.