History.replaceState 仍然向“浏览历史记录”添加条目

2024-05-31

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

history.replaceState(undefined, undefined, "#" + value)

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

是否有某种方法可以替换当前 URL,而不在用户的浏览历史记录中添加条目?

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


我在全球历史上找不到任何 W3C 规范,但即使是会话历史记录 https://html.spec.whatwg.org/#history-notes未指定预期行为是什么。

在实践中,这一直是open bug https://bugzilla.mozilla.org/show_bug.cgi?id=753264#c218 年多来,大多数浏览器选择以这种方式实现全球历史记录。简而言之,除了不调用 pushState/replaceState 之外,可能没有其他解决方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

History.replaceState 仍然向“浏览历史记录”添加条目 的相关文章

随机推荐