跳到主要内容

History

属性

History.length 只读

返回整数,表示历史记录数量,包括当前页面

History.scrollRestoration 实验

允许Web应用程序在历史导航上显式地设置默认滚动恢复行为。此属性可以是自动的(auto)或者手动的(manual)。

History.state 只读

返回一个表示历史堆栈顶部的状态的值。这是一种可以不必等待popstate 事件而查看状态而的方式。

已废弃

History.current

可以使用 Location.href 来代替它

History.next

代表session历史记录中后一个项目URL的DOMString

History.previous

代表session历史记录中前一个项目URL的DOMString

方法

概念和使用

在历史记录里前进和后退

window.history.back()
window.history.forward()

跳转到历史记录里指定的页面,参数是相对当前页面的位置,当前页面是 0。

window.history.go(-1)

给 go 方法传 0 或者不传参数可以用来刷新当前页面

window.history.go(0);
window.history.go();

可以通过 window.history.length 查看历史堆栈长度

let numberOfEntries = window.history.length

window 下可以给 go 方法传递 URL 连接进行跳转,但这不是标准用户,其他引擎不支持。

例子

可以通过 window.onpopstate 监视 history stack pop 出记录的行为

window.onpopstate = function(event) {
alert("location: " + document.location + ", state: " + JSON.stringify(event.state));
};

history.pushState({page: 1}, "title 1", "?page=1");
history.back(); // alerts "location: http://example.com/example.html?page=1, state: {"page":1}"

参考