var cacheName = 'tempConverterShell';
var filesToCache = [
'/',
'/index.html',
'/scripts/sample.js',
'/styles/sample.css'
];
#install イベントの時 作動 ↓
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);
})
);
});
//activate イベントの時 作動 ↓
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 oldcache', key);
return caches.delete(key);
}
}));
})
);
return self.clients.claim();
});
//fetch イベントの時 作動 ↓
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);
})
);
});