Run unload method before pushing the new state
authorJohn Firebaugh <john.firebaugh@gmail.com>
Thu, 5 Dec 2013 20:11:57 +0000 (12:11 -0800)
committerTom Hughes <tom@compton.nu>
Thu, 5 Dec 2013 20:17:24 +0000 (20:17 +0000)
If running unload causes any hash changes, those should
not end up on the new URL.

Fixes #622

app/assets/javascripts/router.js

index 2f76f2f184983a01efbbaa651dcbb9f9d5b256c5..9657549b1abdb893c304049b76ec894038a21402 100644 (file)
@@ -113,8 +113,8 @@ OSM.Router = function(map, rts) {
       var path = url.replace(/#.*/, ''),
         route = routes.recognize(path);
       if (!route) return false;
-      window.history.pushState(OSM.parseHash(url), document.title, url);
       currentRoute.run('unload');
+      window.history.pushState(OSM.parseHash(url), document.title, url);
       currentPath = path;
       currentRoute = route;
       currentRoute.run('pushstate', currentPath);