Javascript 在statechange事件中区分后退/前进单击和History.pushState/replaceState

Javascript 在statechange事件中区分后退/前进单击和History.pushState/replaceState,javascript,jquery,html,history.js,Javascript,Jquery,Html,History.js,我正在使用History.js插件,它支持HTML5PushState和replaceState。当用户单击后退/前进按钮以及使用pushState/replaceState时,会触发状态更改。我需要检查statechange事件是通过后退/前进按钮触发的,还是通过使用pushState/replaceState方法触发的。我没有看过History.js,但它是一个包含“hashchange”事件的优秀库。不过,这可能与您尝试执行的操作不同,因为他的库依赖于URL中的哈希标记,而不是浏览器的内部

我正在使用History.js插件,它支持HTML5PushState和replaceState。当用户单击后退/前进按钮以及使用pushState/replaceState时,会触发状态更改。我需要检查statechange事件是通过后退/前进按钮触发的,还是通过使用pushState/replaceState方法触发的。

我没有看过History.js,但它是一个包含“hashchange”事件的优秀库。不过,这可能与您尝试执行的操作不同,因为他的库依赖于URL中的哈希标记,而不是浏览器的内部状态更改

根据作者在GitHub上的讨论,这是不可能的(从一年前开始,再也找不到链接)。
您的选择实际上是寻找某种解决方法,如面包屑等。

您是否找到过该链接?我认为即使在2011年也是可能的。例如,请参见我在回答时给出的代码。