X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/f9d714dfd36fa56ced4c0a99a6e59c945ff89cca..36f1233304baec423e1cd877f3593514efad6d66:/app/views/site/id.html.erb?ds=sidebyside diff --git a/app/views/site/id.html.erb b/app/views/site/id.html.erb index ccdad9557..1b4cdf1bb 100644 --- a/app/views/site/id.html.erb +++ b/app/views/site/id.html.erb @@ -47,14 +47,12 @@ [extent[1][1], extent[1][0]]]); - // 0ms timeout to avoid iframe JS context weirdness. + // Manually resolve URL to avoid iframe JS context weirdness. // http://bl.ocks.org/jfirebaugh/5439412 - parent.setTimeout(function() { - var hash = parent.OSM.formatHash({ lon: center[0], lat: center[1], zoom: zoom }); - if (hash !== parent.location.hash) { - parent.location.replace(hash); - } - }, 0); + var hash = parent.OSM.formatHash({ lon: center[0], lat: center[1], zoom: zoom }); + if (hash !== parent.location.hash) { + parent.location.replace(parent.location.href.replace(/(#.*|$)/, hash)); + } })); parent.$("body").on("click", "a.set_position", function (e) { @@ -63,7 +61,7 @@ // 0ms timeout to avoid iframe JS context weirdness. // http://bl.ocks.org/jfirebaugh/5439412 - parent.setTimeout(function() { + setTimeout(function() { id.map().centerZoom( [data.lon, data.lat], Math.max(data.zoom || 15, 13));