Skip to content

Instantly share code, notes, and snippets.

@arturparkhisenko
Created October 20, 2015 18:48
Show Gist options
  • Select an option

  • Save arturparkhisenko/f1ac3a78ecaa5075ae26 to your computer and use it in GitHub Desktop.

Select an option

Save arturparkhisenko/f1ac3a78ecaa5075ae26 to your computer and use it in GitHub Desktop.
overwrite-back-button-history-api
//source https://stackoverflow.com/questions/6359327/detect-back-button-click-in-browser
window.onload = function() {
if (typeof history.pushState === "function") {
history.pushState("jibberish", null, null);
window.onpopstate = function() {
history.pushState('newjibberish', null, null);
// Handle the back (or forward) buttons here
// Will NOT handle refresh, use onbeforeunload for this.
};
} else {
var ignoreHashChange = true;
window.onhashchange = function() {
if (!ignoreHashChange) {
ignoreHashChange = true;
window.location.hash = Math.random();
// Detect and redirect change here
// Works in older FF and IE9
// * it does mess with your hash symbol (anchor?) pound sign
// delimiter on the end of the URL
} else {
ignoreHashChange = false;
}
};
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment