force_refresh_browser_worker.js (1135B)
1 var name = "browserRefresherCache"; 2 3 self.addEventListener("install", function (event) { 4 event.waitUntil( 5 Promise.all([ 6 caches.open(name), 7 fetch("./browser_cached_force_refresh.html"), 8 ]).then(function (results) { 9 var cache = results[0]; 10 var response = results[1]; 11 return cache.put("./browser_base_force_refresh.html", response); 12 }) 13 ); 14 }); 15 16 self.addEventListener("fetch", function (event) { 17 event.respondWith( 18 caches 19 .open(name) 20 .then(function (cache) { 21 return cache.match(event.request); 22 }) 23 .then(function (response) { 24 return response || fetch(event.request); 25 }) 26 ); 27 }); 28 29 self.addEventListener("message", function (event) { 30 if (event.data.type === "GET_UNCONTROLLED_CLIENTS") { 31 event.waitUntil( 32 clients 33 .matchAll({ includeUncontrolled: true }) 34 .then(function (clientList) { 35 var resultList = clientList.map(function (c) { 36 return { url: c.url, frameType: c.frameType }; 37 }); 38 event.source.postMessage({ type: "CLIENTS", detail: resultList }); 39 }) 40 ); 41 } 42 });