如果popstate事件来自HTML5 pushstate的后退或前进操作,我该如何检索?

我正在开发一个网页,根据下一步或后面的动作,我做相应的animation,问题出现在使用pushstate的时候。 当我收到事件时,我怎么知道用户是否使用Pushstate API点击了回退或者转发历史button?还是我必须自己实现一些东西?

你必须自己实现,这很容易。

  • 当调用pushState给数据对象一个唯一的增量id(uid)。
  • onpopstate处理程序被调用; 检查包含最后状态uid的持久variables的状态uid。
  • 用当前状态uid更新持久variables。
  • 根据状态uid大于还是小于最后一个状态uid执行不同的操作。