是否可以调用一个函数来防止浏览器在更改哈希值时记录回溯历史条目?

我正在编写一个简单的JavaScript画廊,该画廊可以更改浏览器URL,而不会随着用户在每个图像中移动而重新加载页面。

这是通过将location.hash设置为图像的唯一ID来完成的。

window.location.hash = imageID;

问题是,当用户单击浏览器的“后退”按钮时,他们必须像浏览页面一样向后移动每个图像。

如果他们使用图库旋转了20张图像,则必须单击21次以返回上一页。

如何防止使用JavaScript记录历史记录?

最佳答案

window.location.replace将允许您设置URL而不将其添加到浏览器历史记录中。

var baseUrl = window.location.href.split('#')[0];
window.location.replace( baseUrl + '#' + imageID );

documentation

关于javascript - location.hash和历史记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11471008/

10-15 15:04