Newer
Older
2023-Tsubasa / game2 / homework / pwa / serviceworker.js
var cacheName = 'getphoto';
var filesToCache = [
    './',
    './getPhoto.html',
    './getPhoto.css',
    './getPhoto.js',
    './photo/yuuhi-0-0.png',
    './photo/yuuhi-0-1.png',
    './photo/yuuhi-1-0.png',
    './photo/yuuhi-1-1.png',
    './tsubasa.ico'
];
self.addEventListener('install', function(event) {
    console.log('ServiceWorker installing');
    event.waitUntil(
	caches.open(cacheName).then(function(cache) {
	    console.log('Service Worker caching app shell');
	    return cache.addAll(filesToCache);
	})
    );
});
self.addEventListener('activate', function(event) {
    console.log('Service Worker activating');
    event.waitUntil(
	caches.keys().then(function(keyList) {
	    return Promise.all(keyList.map(function(key) {
		if (key !== cacheName) {
		    console.log('Service Worker removing old cache', key);
		    return caches.delete(key);
		}
	    }));
	})
    );
    return self.clients.claim();
});
self.addEventListener('fetch', function(event) {
    console.log('Service Worker fetching', event.request.url);
    event.respondWith(
	caches.match(event.request).then(function(response) {
	    return response || fetch(event.request);
	})
    );
});