BOM history

概述
在 JavaScript 中,history 对象表示浏览器窗口的历史记录,允许你在用户在浏览器中访问过的 URL 之间进行前进和后退的导航。history 对象是 Window 对象的属性,所以在浏览器环境中直接访问即可。
1.history的常用属性
history对象常用的方法为历史前进,历史后退。
属性 描述
length 返回历史记录中的页面数量
state 返回当前历史记录条目的状态对象
需要注意的是,history 对象只能访问到与当前页面在同一个浏览器窗口打开的页面的 URL 历史记录,无法访问到其他窗口的 URL 历史记录。
2.history的常用方法
history对象常用的方法为历史前进,历史后退等。
方法 描述
forward() 前进一页
相当于点击浏览器前进按钮
back() 后退一页
相当于点击浏览器后退按钮
go(n) 前进或后退n页,n为负数表示后退,正数表示前进。
pushState
(state,title,url)
将一个新的状态添加到历史记录中,并将当前URL替换为指定的URL
replaceState
(state, title, url)
将当前状态替换为新的状态,并将当前URL替换为指定的URL
其中 pushState() 和 replaceState() 是 HTML5 新增的方法,它们可以在不刷新页面的情况下修改 URL 和浏览历史记录。当这两个方法被调用时,会触发一个 popstate 事件,可以通过 window.addEventListener('popstate', function(){ ... }) 来监听。