window.onPopState()事件处理程序知道导航方向吗?(前、后)
can window.onPopState() event handler know direction of navigation? (forward,backward)
我有一个网站,使用ajax导航与pushState()方法和onpopstate()处理程序。
第一次访问主页时,我显示一个默认内容(没有ajax)。
当用户从默认页面导航出去然后"返回"时,当他们应该返回到默认页面时,将提供一个空状态。因此,它们停留在网站的第二页而不是第一页(尽管处理程序可以很容易地使用ajax将初始内容带回来)。
我解决这个问题的唯一方法是在我的初始页面加载上执行一个pushState,其中包含关于初始内容的信息。使用这种方法,"后退"按钮效果非常好!
但是如果有人在去我的网站之前在www.stackoverflow.com,"返回"到stackoverflow,然后"转发"到我的网站,显示初始内容,但随后再次重新加载,因为"弹出"状态不是空的。
所以我能告诉,在onPopState()处理程序中,用户是向后还是向前?
我在Firefox中使用pageshow事件成功地捕获了通过前进和后退按钮进入站点的初始入口
window.onPopState()事件处理程序可以知道导航方向吗?(向前、向后)
有一个问题。您可以跳过状态(按住后退按钮,选择您想要的状态)。这使得它非常困难。
当用户从默认页面导航出去然后"返回"时,当他们应该返回到默认页面时,将提供一个空状态。因此,它们停留在网站的第二页而不是第一页(尽管处理程序可以很容易地使用ajax将初始内容带回来)。
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 提示使用服务器端事件处理程序激活JavaScript
- 将事件处理程序绑定到任何可能的事件
- 正在将事件处理程序添加到不存在的类
- dropdown.js中的复杂事件处理
- 在循环中附加事件处理程序时出现浏览器性能问题
- 在同一个javascript事件处理程序中调用不同的函数
- 复选框,然后单击事件处理
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- 检查事件处理程序参数
- 实现延迟的jquery更改事件处理程序
- 如何使用Node.js在JavaScript模块文件之间使用事件处理程序
- 如何使jQuery的“bind”或“on”事件处理程序幂等
- 带有参数的Javascript事件处理程序
- Jquery事件处理程序仅适用于匿名函数
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- 如何在 JavaScript 代码中调试点击事件处理
- 如何在jQuery事件处理程序中存储和重用超时
- 模拟 Web 浏览器方向更改事件以使用 Jasmine 测试绑定事件处理程序函数
- window.onPopState()事件处理程序知道导航方向吗?(前、后)