4

我正在使用 :target 选择器在 css3 中创建一个图像滑块。我有一个下一个和上一个按钮正在执行这行 javascript

window.location = "#image" + image;

问题是,如果我单击浏览器的后退按钮,它会显示滑块的前一个图像。我希望后退按钮转到上一页,而不是上一个锚点。

谢谢您的帮助

4

2 回答 2

4
window.location.replace("#image" + image);

这会进行简单的重定向,而不会将其添加到历史记录中。
MDN:https
://developer.mozilla.org/en-US/docs/Web/API/Location.replace 上一个问题:window.location= 和 window.location.replace() 有什么区别?

于 2013-10-11T14:49:34.327 回答
4

使用历史 API

history.replaceState({}, document.title, "#image" + image);

history.replaceState() 的操作与 history.pushState() 完全相同,只是 replaceState() 修改当前历史条目而不是创建新条目。

当您想要更新当前历史条目的状态对象或 URL 以响应某些用户操作时,replaceState() 特别有用。

于 2013-10-11T14:35:57.133 回答