【问题标题】:Detecting if navigation using history API is back or forward检测使用历史 API 的导航是后退还是前进
【发布时间】:2015-06-05 08:23:43
【问题描述】:

是否有一致的方法来确定弹出状态是由前进按钮还是后退按钮引起的?

我目前在添加新页面时的状态下保存时间戳,这意味着导航在大多数情况下都可以正常工作,但是如果例如使用 history.push 加载了三个页面并且用户导航回到第二个并刷新它,时间戳被更新,因此动画开始变得很奇怪,因为现在前进到了一个时间戳较低的页面,触发了后退动画。

通过添加两个屏幕,然后返回一次并刷新页面,可以在http://goo.gl/26MlRW 中重现该行为。

示例代码:http://goo.gl/pDGctA

【问题讨论】:

    标签: javascript browser-history


    【解决方案1】:

    好的,我找到了修复错误的方法,即在调用脚本时查看当前的 history.state,如果它包含时间戳,则将其用作当前视图时间戳,作为当前状态实际上在刷新之间转移

    【讨论】:

    • 这是天才的一击。我在面板加载插件中添加了时间戳,并仅比较状态数据时间戳以确定我是向前还是向后移动。很好的主意。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 2011-02-11
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多