使用 JavaScript 复制谷歌地图 URL 行为?网址+ "/@foo"



谷歌地图会这样如果我浏览到澳大利亚,URL会变成

https://www.google.com/maps/@-28.0345854,135.1500838,4z

我有兴趣在我的web应用程序上做这样的事情。到目前为止,我有这个:

var baseurl = window.location.href.split("/@")[0]
window.history.replaceState( {} , 'foo', baseurl+'/@foo' );

可以很好地将"/@foo"添加到url

我的问题是,添加/@foo后,URL不工作,它404es。

我对修改浏览器的历史记录不感兴趣,这就是为什么我使用replaceState而不是pushState。

无论如何,有办法做到这一点与js?还是需要服务器端代码来提供适当的页面?

谢谢

您"需要服务器端代码来提供适当的页面"。@字符仍然是URL的一部分,因此需要由服务器处理。如果您只想处理这种情况的客户端,那么您想要的是使用#代替。哈希之后的任何内容都是客户端处理的,不会触发从服务器加载新页面。

有几个库使用它来在单页HTML应用中复制路由。例如:

    <
  • Backbone.js路由器/gh>
  • jQuery-Router
  • jquerymobile-router
  • 安博。路由器

相关内容

  • 没有找到相关文章

最新更新