此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

History:state 属性

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

History 接口的 state 只读属性表示历史记录堆栈顶部的状态值。通过该属性,可以在无需等待 popstate 事件的情况下查看当前状态。

历史记录堆栈顶部的状态。在调用 pushState()replaceState() 方法之前,该值为 null

示例

下面的代码在调用 pushState() 方法向历史记录中推入一个值之前,先输出 history.state 的值。下一行再次将其输出到控制台,可以看到此时 history.state 已具有一个值。

js
// 应该为 null,因为我们尚未修改历史记录堆栈
console.log("调用 pushState 前的 History.state:", history.state);

// 现在向堆栈中推入一个新状态
history.pushState({ name: "Example" }, "pushState 示例", "page3.html");

// 此时 state 已有值
console.log("调用 pushState 后的 History.state:", history.state);

规范

Specification
HTML
# dom-history-state-dev

浏览器兼容性

参见