Skip to content

Instantly share code, notes, and snippets.

@jaredpalmer
Forked from developit/sw-update-hook.js
Created February 21, 2018 17:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jaredpalmer/45b9ade81dab040124c9c0b038e7c062 to your computer and use it in GitHub Desktop.
Save jaredpalmer/45b9ade81dab040124c9c0b038e7c062 to your computer and use it in GitHub Desktop.
if (typeof window!=='undefined' && navigator.serviceWorker && navigator.serviceWorker.controller) {
let reloadOnNext = false;
let pushState = history.pushState;
history.pushState = function(state, title, url) {
pushState.call(this, state, title, url);
if (reloadOnNext===true) location.reload(true);
};
navigator.serviceWorker.controller.addEventListener('statechange', e => {
if (e.target.state==='redundant') {
reloadOnNext = true;
}
});
setInterval( () => {
navigator.serviceWorker.ready.then( reg => reg.update() );
}, 3e4);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment