历史记录:go() 方法

go() 方法是 History 接口的方法,用于从会话历史记录中加载特定页面。你可以使用它根据参数的值在历史记录中向前和向后移动。例如,history.go(2) 向前移动两个页面,而 history.go(-2) 向后移动两个页面。如果未传递任何值或 delta 等于 0,则其效果与调用 location.reload() 相同。

此方法是 异步的。添加 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

浏览器兼容性

BCD 表格仅在浏览器中加载

参见