用javascript复制谷歌地图URL行为?url+&引用/@"富",;

用javascript复制谷歌地图URL行为?url+&引用/@"富",;,javascript,browser-history,urlvariables,Javascript,Browser History,Urlvariables,谷歌地图就是这样做的,如果我浏览到(比如)澳大利亚,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' ); 在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' );
在url中添加“/@foo”就可以了

我的问题是,添加/@foo后,URL不起作用,它是404

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

不管怎样,有没有一种方法可以用js实现这一点?或者我需要服务器端代码来提供适当的页面吗

谢谢

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

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

还有更多