JS
(quick guide & example)
IN THE <HEAD> SECTION <script> navigator.serviceWorker.register("SW.JS"); </script>
CREATE/INSTALL CACHE self.addEventListener("install", evt => { self.skipWaiting(); evt.waitUntil( caches.open("demo") .then(cache => cache.addAll([ "main.html", "all-project.files" ])) .catch(err => console.error(err)) ); });
CLAIM CONTROL INSTANTLY self.addEventListener("activate", evt => self.clients.claim());
LOAD FROM CACHE FIRST, FALLBACK TO NETWORK IF NOT FOUND self.addEventListener("fetch", evt => evt.respondWith( caches.match(evt.request).then(res => res || fetch(evt.request)) });