History对象最初设计用来表示窗口的浏览历史,但是,出于隐私方面的原因,History对象不再允许脚本访问已经访问过的实际URL。虽然,我们不清楚历史URL,但是,我们可以通过 History 对象的内置属性方法进行跳转。
一、对象属性
1.length
该属性代表着浏览器历史列表中的URL数量。初始值为1,如果当前窗口先后访问了两个网址,那该属性的值变为2。
history.length // 1
// 访问了一个新的URL
history.length // 2
2.state
HTML5新增属性,返回一个表示历史堆栈顶部的状态的值,这是一种可以不必等待popstate 事件而查看状态的方式。
3.scrollRestoration
允许Web应用程序在历史导航上显式地设置默认滚动恢复行为。此属性可以是自动的(auto)或者手动的(manual)。
二、对象方法
1.go方法
go方法是History对象三个方法中的核心方法,通过go方法可以完美替代其他的两个方法。该方法接收一个可选参数,这个参数可以是number也可以是URL。
当使用number参数时,页面会跳转到 History 的URL列表的相对位置。比如