什么是history对象?
在 JavaScript 中,history 对象表示浏览器窗口的历史记录,允许你在用户在浏览器中访问过的 URL 之间进行前进和后退的导航。history 对象是 Window 对象的属性,所以在浏览器环境中直接访问即可。
为什么使用history对象?
1、页面导航:通过使用history.back()和history.forward()方法,可以在浏览器的历史记录中向后或向前导航,实现页面之间的切换。
2、URL管理:通过使用history.pushState()和history.replaceState()方法,可以动态地修改浏览器的URL,无需实际导航到新的页面。这样可以实现更友好的URL结构,同时也可以为用户提供更好的浏览和分享体验。
history对象的属性和方法
length
history.length属性保存着历史记录的URL数量。
初始时,该值为1。
history.length // 初始时,该值为1
跳转方法:
- go()
- back()
- forward()
go()
可加载历史列表中的某个具体的页面。
语法:history.go(number|URL)
history.go(-1); // 后退一步
history.go(1); //前进一步
注意:go()方法无参数时,相当于history.go(0),可以刷新当前页面。
back()
back()方法用于模仿浏览器的后退按钮,相当于history.go(-1)
//后退一步
history.back()
forward
forward()方法用于模仿浏览器的前进按钮,相当于history.go(1)
//前进一步
history.forward()
注意:如果移动的位置超出了访问历史的边界,以上三个方法并不报错,而是静默失败。
总结
属性/方法 | 描述 |
---|---|
history.go(number(URL) | 前进或后退指定的页面数 |
history.forward() | 前进到下一个页面 |
history.back() | 后退到上一个页面 |
history.length | 返回历史记录的页面数量 |
history.state | 返回当前状态 |
title | 新页面的标题 |
通过使用history对象,您可以在JavaScript中控制浏览器的历史记录,并进行动态的页面导航和修改。