PHP Classes

File: sw.js

Recommend this page to a friend!
  Classes of Rodrigo Faustino   Simple SPA   sw.js   Download  
File: sw.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Simple SPA
Demonstrates single page applications
Author: By
Last change:
Date: 6 months ago
Size: 2,033 bytes
 

Contents

Class file image Download
const CACHE_NAME = 'v001'; const STATIC_CACHE_URLS = [ 'index.html', 'offline.html', 'manifest.json', 'assets/js/App.js', 'assets/js/card/CardComponent.js', 'assets/js/component/Component.js', 'assets/js/form/FormContact.js', 'assets/js/modal/Modal.js', 'assets/js/lib/FetchData.js', 'assets/js/pages/AboutPage.js', 'assets/js/pages/ContactPage.js', 'assets/js/pages/ErrorPage.js', 'assets/js/pages/FullContent.js', 'assets/js/pages/HomePage.js', 'assets/js/router/Navbar.js', 'assets/js/router/Router.js', 'assets/js/script.js', 'assets/css/w3.css', 'assets/img/image1.jpg', 'assets/img/image2.jpg', 'assets/img/image3.jpg', 'assets/img/image4.jpg', 'assets/img/logo.png' ]; self.addEventListener('fetch', event => { event.respondWith( caches.match(event.request).then(cachedResponse => { if (cachedResponse) { return cachedResponse; } return fetch(event.request).then(networkResponse => { if (networkResponse.ok) { return caches.open(CACHE_NAME).then(cache => { cache.put(event.request, networkResponse.clone()); return networkResponse; }); } return caches.match('offline.html'); }); }).catch(() => { return caches.match('offline.html'); }) ); }); self.addEventListener('install', event => { event.waitUntil( caches.open(CACHE_NAME).then(cache => { return cache.addAll(STATIC_CACHE_URLS).catch(error => { console.error("Erro durante o cache.addAll: ", error); throw error; }); }) ); }); self.addEventListener('activate', event => { const cacheWhitelist = [CACHE_NAME]; event.waitUntil( caches.keys().then(cacheNames => { return Promise.all( cacheNames.map(cacheName => { if (cacheWhitelist.indexOf(cacheName) === -1) { return caches.delete(cacheName); } }) ); }) ); });