传递给history.pushState的状态对象是什么,它做了什么?

时间:2011-03-09 18:03:01

标签: javascript ajax dom html5

传递给stateObj的{​​{1}}是什么?它做了什么?

例如,history.pushState

1 个答案:

答案 0 :(得分:7)

状态对象as defined by the spec,是作者想要与该状态关联的任何对象:

  

页面可以在会话历史记录中的条目和下一个(“转发”)条目之间添加状态对象。当用户(或脚本)返回历史记录

时,它们将返回到脚本

MDN具有更实用(特定于Firefox)的定义:

  

state对象可以是你可以传递给JSON.stringify的任何东西。由于Firefox将状态对象保存到用户的磁盘,因此可以在用户重新启动浏览器后恢复它们,因此我们在状态对象的JSON表示上强加了640k字符的大小限制。