如何使用history.pushState更改所有url

问题描述 投票:0回答:1

当我用history.pushState(newUrl)更改我的URL几次,之后我尝试返回一页时出现错误,我发现如果我执行pushState(newUrl/)而不是(newUrl),这个错误消失了,但是现在pushState不替换URL而是按类型添加它 我第一次在“mySite.com”上调用 PushState 时,得到“mySite.com/newUrl/” 第二次在“mySite.com”上调用 PushState 时,我得到“mySite.com/newUrl/newUrl/”

方法history.replaceState给出了相同的结果

所以这里的问题是如何在不重新加载页面的情况下始终替换 URL 并始终获得“mySite.com/newUrl/”

我用谷歌搜索了一下,什么也没找到,请帮助我

javascript url browser browser-history
1个回答
0
投票

只需使用您输入的绝对 URL

pushState()
在相对 URL 中添加前导斜杠。

根据 MDN 文档:

新的 URL 不需要是绝对的;如果是相对的,则相对于当前 URL 进行解析。

© www.soinside.com 2019 - 2024. All rights reserved.