35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
const CACHE_NAME = 'skydash-chat-v2';
|
|
|
|
self.addEventListener('install', (e) => {
|
|
self.skipWaiting(); // Force the waiting service worker to become the active service worker
|
|
e.waitUntil(
|
|
caches.open(CACHE_NAME).then((cache) => cache.addAll([
|
|
'chat.php',
|
|
'manifest_chat.json',
|
|
'images/logo-mini.svg',
|
|
'images/faces/user.jpg',
|
|
'images/admin.png',
|
|
'https://cdn.jsdelivr.net/npm/@mdi/font@7.4.47/css/materialdesignicons.min.css',
|
|
'https://code.jquery.com/jquery-3.6.0.min.js'
|
|
]))
|
|
);
|
|
});
|
|
|
|
self.addEventListener('activate', (e) => {
|
|
e.waitUntil(
|
|
caches.keys().then((keyList) => {
|
|
return Promise.all(keyList.map((key) => {
|
|
if (key !== CACHE_NAME) {
|
|
return caches.delete(key);
|
|
}
|
|
}));
|
|
}).then(() => self.clients.claim())
|
|
);
|
|
});
|
|
|
|
self.addEventListener('fetch', (e) => {
|
|
e.respondWith(
|
|
caches.match(e.request).then((response) => response || fetch(e.request))
|
|
);
|
|
});
|