History
History 接口是 History API 的一部分,允许操作浏览器的会话历史,即当前页面所在的标签页或框架中访问过的页面。
全局对象 history 提供了唯一的 history 实例(它是一个单例)。
实例属性
History 接口不继承任何属性。
length只读-
返回一个
Integer,表示会话历史中的元素数量,包括当前加载的页面。例如,在新标签页中加载的页面,此属性返回1。 scrollRestoration-
允许 Web 应用程序在历史导航时显式设置默认的滚动恢复行为。此属性可以是
auto或manual。 state只读-
返回一个
any值,表示历史栈顶部的状态。这是一种在不等待popstate事件的情况下查看状态的方式。
实例方法
History 接口不继承任何方法。
back()-
此异步方法会转到会话历史中的上一页,与用户点击浏览器 后退 按钮的操作相同。等同于
history.go(-1)。尝试在会话历史的第一页之前调用此方法来后退,将不起作用,也不会引发异常。
forward()-
此异步方法会转到会话历史中的下一页,与用户点击浏览器 前进 按钮的操作相同;等同于
history.go(1)。尝试在会话历史的最新页之后调用此方法来前进,将不起作用,也不会引发异常。
go()-
异步加载会话历史中的一页,通过其相对于当前页面的相对位置标识,例如
-1表示上一页,1表示下一页。如果指定了一个超出边界的值(例如,在会话历史中没有先前访问过的页面时指定-1),则此方法将静默地不起作用。不带参数或值为0调用go()会重新加载当前页面。 pushState()-
将给定的数据推送到会话历史栈中,并指定标题(如果提供,则指定 URL)。DOM 将数据视为不透明;您可以指定任何可序列化的 JavaScript 对象。请注意,除 Safari 外,所有浏览器目前都会忽略标题参数。有关更多信息,请参阅 使用 History API。
replaceState()-
使用指定的数据、标题(如果提供,则指定 URL)更新历史栈中的最新条目。DOM 将数据视为不透明;您可以指定任何可序列化的 JavaScript 对象。请注意,除 Safari 外,所有浏览器目前都会忽略标题参数。有关更多信息,请参阅 使用 History API。
规范
| 规范 |
|---|
| HTML # the-history-interface |
浏览器兼容性
加载中…
另见
history全局对象