move dirs
This commit is contained in:
60
projects/PWA/sw.js
Normal file
60
projects/PWA/sw.js
Normal file
@@ -0,0 +1,60 @@
|
||||
'use strict';
|
||||
|
||||
const name = 'example-pwa-site-v1';
|
||||
const assets = [
|
||||
'/',
|
||||
'/index.html',
|
||||
'/styles.css',
|
||||
'/app.js',
|
||||
'/images/Bear.png',
|
||||
'/images/DeusEx.png',
|
||||
'/images/Face.png',
|
||||
'/images/Tony_Stark.jpg',
|
||||
];
|
||||
|
||||
// install - https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/install_event
|
||||
// activate - https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/activate_event
|
||||
// message - https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/message_event
|
||||
// fetch - https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/fetch_event
|
||||
// sync - https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/sync_event
|
||||
// push - https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/push_event
|
||||
|
||||
self.addEventListener('install', (event) => {
|
||||
event.waitUntil(
|
||||
caches.open(name).then((cache) => {
|
||||
cache.addAll(assets);
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
self.addEventListener('fetch', (event) => {
|
||||
event.respondWith(
|
||||
caches.match(event.request).then((res) => {
|
||||
return res || fetch(event.request);
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
const enableNavigationPreload = async () => {
|
||||
if (self.registration.navigationPreload) {
|
||||
await self.registration.navigationPreload.enable();
|
||||
}
|
||||
};
|
||||
|
||||
self.addEventListener('activate', (event) => {
|
||||
event.waitUntil(enableNavigationPreload());
|
||||
});
|
||||
|
||||
self.addEventListener('push', function (event) {
|
||||
console.log('[Service Worker] Push Received.');
|
||||
console.log(`[Service Worker] Push had this data: "${event.data.text()}"`);
|
||||
|
||||
const title = 'Push Codelab';
|
||||
const options = {
|
||||
body: 'Yay it works.',
|
||||
icon: 'images/icon.png',
|
||||
badge: 'images/badge.png',
|
||||
};
|
||||
|
||||
event.waitUntil(self.registration.showNotification(title, options));
|
||||
});
|
Reference in New Issue
Block a user