【问题标题】:Differentiate Back/Forward click and History.pushState/replaceState in statechange event在 statechange 事件中区分 Back/Forward 单击和 History.pushState/replaceState
【发布时间】:2012-03-16 21:07:27
【问题描述】:

我正在使用支持 HTML 5 pushState 和 replaceState 的 History.js 插件。当用户单击后退/前进按钮以及使用 pushState/replaceState 时会触发 statechange。我需要检查 statechange 事件是从后退/前进按钮触发还是使用 pushState/replaceState 方法触发。

【问题讨论】:

    标签: javascript jquery html history.js


    【解决方案1】:

    我没有看过 History.js,但 Ben Alman's jQuery BBQ (Back-Button & Queue Library) 是一个包含“hashchange”事件的优秀库。不过,这可能与您尝试做的不同,因为他的库依赖于 URL 中的主题标签,而不是浏览器的内部状态更改。 He's also got a repo on GitHub for hashchange.

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 你找到那个链接了吗?我认为即使在 2011 年也是可能的。例如,请参阅我在回答 another question 时给出的代码。
      猜你喜欢
      • 2017-05-18
      • 2011-06-05
      • 2014-12-06
      • 2013-08-03
      • 2018-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多