Skip to content

Instantly share code, notes, and snippets.

@ypetya
Created June 14, 2018 11:47
Show Gist options
  • Save ypetya/9844f29b932889376183dc6f42bc0634 to your computer and use it in GitHub Desktop.
Save ypetya/9844f29b932889376183dc6f42bc0634 to your computer and use it in GitHub Desktop.
register valid service worker
function registerValidSW(swUrl) {
navigator.serviceWorker
.register(swUrl)
.then(registration => {
registration.onupdatefound = () => {
const installingWorker = registration.installing;
installingWorker.onstatechange = () => {
if (installingWorker.state === 'installed') {
if (navigator.serviceWorker.controller) {
// At this point, the old content will have been purged and
// the fresh content will have been added to the cache.
// It's the perfect time to display a "New content is
// available; please refresh." message in your web app.
console.log('New content is available; please refresh.');
} else {
// At this point, everything has been precached.
// It's the perfect time to display a
// "Content is cached for offline use." message.
console.log('Content is cached for offline use.');
}
}
};
};
})
.catch(error => {
console.error('Error during service worker registration:', error);
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment