【发布时间】:2019-07-17 11:16:54
【问题描述】:
所以基本上我想将 /foo 重定向到 /foo#bar(bar 可能是不同的东西) 更新位置的代码是:
window.location.hash = "#bar";
在 chrome/safari 上这很好用,当我从 /foo#bar 浏览器返回时,我回到了原来的页面。
firefox 将 /foo 保留在历史记录中,当我浏览器返回时,它只是再次重定向到 /foo#bar,这使得浏览器无法正常工作。
任何想法如何解决它。我怎样才能操纵历史来防止这种情况发生。
如果您想尝试实际示例,只需致电https://people.sap.com/stefan.scheuermann 并使用浏览器返回。它不会带你回到 Firefox 上。
谢谢!
【问题讨论】:
-
history.replaceState()是否适用于您的用例? -
history.replaceState()通常可以正常工作,它会以正确的方式更改 url,但是我该如何做 # 重定向,因为它在页面上没有做任何事情。
标签: javascript browser-history