stackoverflow问题URL包括servlet,id#和标题,如此...
stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page
我的网站与网址的工作方式相同......
localhost:8443/user/1/admin
我在后端进行查询以获取用户信息只需要id号。之后的用户名称仅用于显示。因此,如果您在localhost:8443/user/1/a
的浏览器中输入此内容,则会为您提供与此localhost:8443/user/1/admin
完全相同的页面
Stackoverflow能够注意到URL的末尾部分缺失并将其添加回来。所以如果你把它放到地址栏
stackoverflow.com/questions/824349/modify
他们会将其动态更改为
stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page
现在我读过有关在stackoverflow上动态更改URL的内容,每个人都在引用history.pushstate
,所以我试了一下。这样做的问题是它将错误的URL添加到历史堆栈中。我想要完成的是将URL更改为它应该是的路径,而不是包含错误的URL到历史堆栈。因此,如果用户决定返回,则返回到他们最后所在的实际页面stackoverflow.com/questions/824349/modify
。就像stackoverflow那样。我怎么能这样做??
答案 0 :(得分:3)
答案 1 :(得分:1)
尝试使用history.replaceState而不是history.pushState