区分后向/前向单击和历史记录.pushState/replaceState在statechange事件中
Differentiate Back/Forward click and History.pushState/replaceState in statechange event
我使用的是History.js插件,它支持HTML5 pushState和replaceState。当用户单击后退/前进按钮以及使用pushState/replaceState时,会触发状态更改。我需要检查状态更改事件是通过后退/前进按钮还是通过使用pushState/replaceState方法触发的。
我还没有看过History.js,但Ben Alman的jQuery BBQ(返回按钮和队列库)是一个包含"hashchange"事件的优秀库。不过,这可能与你试图做的不同,因为他的库依赖于URL中的标签,而不是浏览器的内部状态更改。他还在GitHub上获得了一个关于hashchange的回购。
根据作者在GitHub上的讨论,这是不可能做到的(从一年前开始,再也找不到链接了)。您的选择实际上是寻找某种变通方法,如面包屑等。
相关文章:
- 这个代码是什么意思(history.replaceState和history.pushstate)
- Ember.js查询参数不尊重replace:true并使用replaceState
- 自定义光标在使用 window.history.replaceState 时闪烁
- 类型错误:“replaceState”调用了未实现接口历史记录的对象
- 区分后向/前向单击和历史记录.pushState/replaceState在statechange事件中
- 上一页上的历史记录API-replaceState
- replaceState() vs pushState()
- 未捕获的SecurityError:未能执行'replaceState'在'历史记录':
- 使用replaceState()更改查询值url
- 历史.replaceState未定义IE11
- replacestate(..)在历史记录中添加一个新条目
- 未捕获的SecurityError: Failed to execute 'replaceState'&
- 执行'replaceState'& # 39;历史# 39;& lt; local_URL>不能在ori
- 未捕获的SecurityError: Failed to execute 'replaceState'o
- 什么是'数据'在window.history.replaceState
- Safari中的历史API - pushState / replaceState -状态未定义
- OS X & iOS Safari history.replaceState limit throws Secu