具体来说,调用以下代码片段:
history.replaceState(undefined, undefined, "#" + value)
将正确地影响当前页面的后退按钮行为,但将在“浏览历史记录”页面中添加一个我不想要的条目。下图是Chrome的历史记录页面,但这也发生在Firefox中。
有没有办法在不添加用户浏览历史记录的条目的情况下替换当前URL?
我正在询问独立的“浏览器历史记录”页面,而不是“后退”按钮使用的实际页面导航历史记录。
答案 0 :(得分:1)
我在全球历史上找不到任何W3C规范,但是即使session history也未指定预期的行为。
实际上,这已经是open bug了8年了,大多数浏览器都选择以这种方式实现全局历史记录。简而言之,除了不调用pushState / replaceState之外,可能没有其他解决方法。
答案 1 :(得分:-3)
使用replaceState方法的正确方法。 在我做的测试中,它在chrome和firefox中都运行良好 - 运行replaceState后历史记录没有改变。