Window.history

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Window.history 是一个只读属性,用来获取History 对象的引用,History 对象提供了操作浏览器会话历史(浏览器地址栏中访问的页面,以及当前页面中通过框架加载的页面)的接口。

History 对象有如下方法:参见 Manipulating the browser history 中的示例和详情。尤其指出的是文章里解释了在使用 pushState()replaceState() 方法前,你需要了解的安全问题。

语法

var historyObj = window.history;

示例

js
history.back(); // 等同于点击浏览器的回退按钮
history.go(-1); //等同于 history.back();

附注

在顶层页面中,浏览器的回退和前进按钮旁的下拉菜单显示了可以通过History对象访问到的页面会话历史(session history)列表。

出于安全考虑,History 对象不允许未授权代码访问会话历史(session History)中其他页面的 URLs,但可以导航到其他会话历史(session History)指向的页面。

未授权代码无法清除会话历史(session History),也不能禁用回退/前进功能。最快捷的可用方式是使用location.replace()方法,提供指定的 URL 来替换当前的会话历史(session history)。

规范