gpt4 book ai didi

javascript - 防止 History.replaceState 附加到 url

转载 作者:行者123 更新时间:2023-12-01 01:41:25 25 4
gpt4 key购买 nike

我正在使用 window.history.replaceState 并遇到一些问题,因为它不断附加到网址。

它已被标记为 this question 的重复项我认为这是一个错误,因为当我使用该代码时,会发生同样的问题,并且它会不断将索引附加到网址,如下所述。

请参阅下面的代码:

let index = 1;

function incrementIndexAndUpdateUrl() {
index++;
window.history.replaceState('Object', 'Title', `${window.location.href }/${index}`);
}

我遇到的问题是网址不断附加数字,因此它正在执行如下操作:

https://slackoverflowz.com/questions/ask/2/3/4

有谁知道代码应该如何更新网址,如下所示:

还值得注意的是,URL 是动态的,因此我无法对路径进行硬编码。我只想更新网址末尾的索引。

最佳答案

由于您要附加 /something,因此您实际上正在更改路径名。因此,最简单的方法是在更改之前存储原始的:

let index = 1;
const path = location.pathname;

btn.onclick = incrementIndexAndUpdateUrl;

function incrementIndexAndUpdateUrl() {
index++;
window.history.replaceState('Object', 'Title', `${path}/${index}`);
console.log(location.href);
}
<button id="btn">increment</button>

And as a fiddle for Chrome.

关于javascript - 防止 History.replaceState 附加到 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52369982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com