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