history.replaceState仍然将条目添加到"浏览历史记录"

Vin*_*Woo 14 javascript google-chrome browser-history

具体来说,调用以下代码片段:

history.replaceState(undefined, undefined, "#" + value)
Run Code Online (Sandbox Code Playgroud)

将正确地不影响当前页面的后退按钮行为,但在"浏览历史记录"页面中添加一个我不想要的条目.下图是Chrome的历史记录页面,但这也发生在Firefox中.

有没有办法在不添加用户浏览历史记录的条目的情况下替换当前URL?

我正在询问独立的"浏览器历史记录"页面,而不是"后退"按钮使用的实际页面导航历史记录.

Chrome浏览器历史记录

Ani*_*ift 4

我在全局历史记录中找不到任何 W3C 规范,但即使是会话历史记录也未指定预期行为。

实际上,这已经是一个开放的错误8 年多了,大多数浏览器选择以这种方式实现全局历史记录。简而言之,除了不调用 pushState/replaceState 之外,可能没有其他解决方法。