X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/35458c009652645972a9167d80aba1c4fdce82cf..59f1a6d49644143bfe643e0cabaaea72792fa5db:/app/assets/javascripts/router.js diff --git a/app/assets/javascripts/router.js b/app/assets/javascripts/router.js index 654ec860b..7a61af106 100644 --- a/app/assets/javascripts/router.js +++ b/app/assets/javascripts/router.js @@ -50,7 +50,12 @@ OSM.Router = function(rts) { currentRoute.run('load', currentPath); if (window.history && window.history.pushState) { - $(window).on('popstate', function() { + // Set a non-null initial state, so that the e.originalEvent.state + // check below works correctly when going back to the initial page. + window.history.replaceState({}, document.title, window.location); + + $(window).on('popstate', function(e) { + if (!e.originalEvent.state) return; // Is it a real popstate event or just a hash change? var path = window.location.pathname + window.location.search; if (path === currentPath) return; currentRoute.run('unload');