Add ServiceWorker implementation
This commit is contained in:
parent
73c7430883
commit
2cd1798b15
2 changed files with 43 additions and 3 deletions
|
@ -399,7 +399,7 @@ class Notifications {
|
|||
|
||||
_copyText(message, notification) {
|
||||
notification.close();
|
||||
if(!document.copy(message)) return;
|
||||
if (!document.copy(message)) return;
|
||||
this._notify('Copied text to clipboard');
|
||||
}
|
||||
|
||||
|
@ -463,14 +463,20 @@ document.copy = text => {
|
|||
}
|
||||
|
||||
|
||||
if ('serviceWorker' in navigator && !window.iOS) {
|
||||
// SW on iOS is buggy. see: https://stackoverflow.com/questions/18103103/failed-to-load-resource-plugin-handled-load-on-ios
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker
|
||||
.register('/service-worker.js')
|
||||
.then(serviceWorker => {
|
||||
console.log('Service Worker registered');
|
||||
window.serviceWorker = serviceWorker
|
||||
});
|
||||
|
||||
// don't display install banner when installed
|
||||
window.addEventListener('beforeinstallprompt', e => {
|
||||
if (window.matchMedia('(display-mode: standalone)').matches) {
|
||||
return event.preventDefault();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Background Animation
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
var CACHE_NAME = 'my-site-cache-v1';
|
||||
var urlsToCache = [
|
||||
'/',
|
||||
'/styles.css',
|
||||
'/scripts/network.js',
|
||||
'/scripts/ui.js',
|
||||
'/sounds/blop.mp3'
|
||||
];
|
||||
|
||||
self.addEventListener('install', function(event) {
|
||||
// Perform install steps
|
||||
event.waitUntil(
|
||||
caches.open(CACHE_NAME)
|
||||
.then(function(cache) {
|
||||
console.log('Opened cache');
|
||||
return cache.addAll(urlsToCache);
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
self.addEventListener('fetch', function(event) {
|
||||
event.respondWith(
|
||||
caches.match(event.request)
|
||||
.then(function(response) {
|
||||
// Cache hit - return response
|
||||
if (response) {
|
||||
return response;
|
||||
}
|
||||
return fetch(event.request);
|
||||
}
|
||||
)
|
||||
);
|
||||
});
|
Loading…
Reference in a new issue