一 作用
history对象表示当前窗口首次使用以来用户的导航历史记录
二 使用场景
场景一:导航
方法:
go()
作用:可以在用户历史记录中沿任何方向导航,可以前进,也可以后退
参数:一个整数,表示前进或后退多少步(负值为后退,正值为前进)/旧版本 可以传字符串
history.go(-1);//后退一页
history.go(1);//前进一页
history.go(2);//前进两页
// 旧版本浏览器
history.go("wrox.com") //导航到最近的wrox.com页面
back()
history.back() 后退一页
forward()
history.forward() 前进一页
属性:
length 表示历史记录中有多个条目
程序实现:确定用户浏览器的起点是不是你的页面
if(history.length == 1) {
//用户窗口中的第一个页面
}
场景二:历史状态管理API
- haschange():在页面URL的散列变化时被触发
- pushState():
- 参数:state对象、新状态的标题、(可选的)相对URL
- 会创建新的历史记录
let stateObject = { foo: "bar" }
history.pushState(stateObject, "MyTitle", "baz.html");
更新状态不会创建新历史记录,只会覆盖当前状态