History: go() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

History 接口的 go() 方法用于从会话历史记录中加载特定页面。您可以根据参数的值,使用它在历史记录中向前或向后移动。

此方法是异步的。添加一个 popstate 事件的监听器,以确定导航何时完成。

语法

js
go()
go(delta)

参数

delta 可选

您希望移动到的历史记录中的位置,相对于当前页面。负值表示向后移动,正值表示向前移动。例如,history.go(2) 会向前移动两页,而 history.go(-2) 会向后移动两页。如果未传递任何值或 delta 等于 0,则效果与调用 location.reload() 相同。

返回值

无(undefined)。

异常

SecurityError DOMException

如果关联的文档未完全激活,则会抛出此错误。浏览器还会限制导航,如果调用过于频繁,可能会抛出此错误、生成警告或忽略此调用。

示例

向后移动一页(相当于调用 back()

js
history.go(-1);

向前移动一页,就像调用 forward() 一样

js
history.go(1);

向前移动两页

js
history.go(2);

向后移动两页

js
history.go(-2);

最后,以下任一语句都将重新加载当前页面

js
history.go();
history.go(0);

规范

规范
HTML
# dom-history-go-dev

浏览器兼容性

另见