Javascript window.onPopState()事件处理程序能否知道导航的方向?(向前、向后)

Javascript window.onPopState()事件处理程序能否知道导航的方向?(向前、向后),javascript,html,browser-history,history.js,Javascript,Html,Browser History,History.js,我有一个将ajax导航与pushState()方法和onpopstate()处理程序结合使用的应用程序 第一次访问主页时,我会显示一个默认内容(没有ajax) 当有人离开默认页面,然后返回“back”时,当他们应该返回默认页面时,会提供一个null状态。因此,它们停留在网站的第二页,而不是第一页(尽管处理程序可以轻松地使用ajax将初始内容带回来) 我解决这个问题的唯一方法是在我的初始页面加载上做一个pushState,其中包含关于初始内容的信息。使用此方法,“后退”按钮效果非常好 但是,如果某

我有一个将ajax导航与pushState()方法和onpopstate()处理程序结合使用的应用程序

第一次访问主页时,我会显示一个默认内容(没有ajax)

当有人离开默认页面,然后返回“back”时,当他们应该返回默认页面时,会提供一个null状态。因此,它们停留在网站的第二页,而不是第一页(尽管处理程序可以轻松地使用ajax将初始内容带回来)

我解决这个问题的唯一方法是在我的初始页面加载上做一个pushState,其中包含关于初始内容的信息。使用此方法,“后退”按钮效果非常好

但是,如果某人在转到之前访问了www.stackoverflow.com,则会“返回”到stackoverflow,然后再次“转发”到我的站点,会显示初始内容,但会再次重新加载,因为“弹出”状态不为空


因此,我可以在onPopState()处理程序中判断用户是后退还是前进吗?

我已经成功地使用Firefox中的事件通过前进和后退按钮捕获了进入站点的初始条目

window.onPopState()事件处理程序能否知道导航的方向?(向前、向后)

有一个问题。您可以跳过状态(按住后退按钮,选择所需的状态)。这让它变得难以置信的困难

当有人离开默认页面,然后返回“back”时,当他们应该返回默认页面时,会提供一个null状态。因此,它们停留在网站的第二页,而不是第一页(尽管处理程序可以轻松地使用ajax将初始内容带回来)


您可以使用它的可选数据持久性来解决这个问题。

答案是肯定的。现在看来很明显。