这与我的问题不太相关,但它提供了一些背景知识:我使用 MapBox API 制作了一张地图。然后我想实现一个名为 Leaflet-hash 的插件,它基本上将您当前的位置存储在地图中的 URL 哈希中,如下所示:
http://localhost/#5/12.123/60.123
因此,无论何时平移地图,坐标都会更新,哈希值也会发生变化。这在一个单独的、干净的 HTML 页面中运行良好。但是当我尝试在我的 Django 站点中使用该插件时,它停止了工作。
该插件用于location.replace('#'+coordinates);
更新哈希。出于某种原因,这会在 Django 框架中重新加载页面。此外,坐标会添加到 URL,但没有井号。这显然会产生一些不良影响。我不知道是什么导致了这种行为,但我发现:
location.replace('#')
按预期工作,即在不重新加载页面的情况下将哈希添加到 URL。location.replace('#'+'randomWord')
按预期工作。location.replace('#'+map.getCenter().toString())
重新加载页面,将字符串添加到 URL,不带井号。location.replace('#'+d3.version)
如果我在 D3 是 Javascript 库的地方做同样的事情。页面重新加载。
我想获得这种行为(参见哈希按钮):https ://www.mapbox.com/mapbox.js/example/v1.0.0/toggling-ui/