javascript - location.hash 和回溯历史

标签 javascript browser-cache hashcode

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

我正在编写一个简单的 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/

相关文章:

javascript - Node 中的Linux系统变量

javascript - service-worker.js中未添加的.html页面被缓存并且可以离线使用?

php - 在php中重新上传具有相同文件名的图像时如何清除浏览器缓存?

javascript - 在 `bundle.js` 创建 `cachebust.resources()` 之后如何从 html 引用 `bundle.a3503174.js` ?

Java - Point 类的 hashCode() 方法是否有用,还是我应该覆盖它并编写自己的方法?

javascript - 在MySQL中选择多行的前十个条目

javascript - event.target.toString() 或 event.target.nodeName 检查元素的类型

javascript - 类型错误 : undefined is not an object (evaluating 'messageParts[0].toString' )?

java - ArrayList - 添加 "same"个对象(相同 => 等于,hashCode),线程

java - 如何为大字符串创建一个好的哈希函数?