2011-04-20 70 views
13

我刚刚在我的jQuery Ajax应用程序中集成了History.js,但我无法找到一种方法来区分由于我自己的代码中的History.pushState而引起的statechange事件,由于用户点击浏览器后退和前进按钮(在这两种情况下事件都被触发)。jQuery History.js:关于由于浏览器向前和向后按钮而引起的statechange事件触发器

History.Adapter.bind(window,'statechange',function(){ 

       var State = History.getState(); // 

       if (??????) // should be true only when statechange was triggered due to user clickin on Back or Forward button 
        showHistoryContent(State.data.historyObj); 
      }); 

........... 
st++ 
History.pushState({historyObj:dto, state: st}, null, "?state="+st); 

所以,我怎样才能实现这一目标?

回答

6

有一个关于这个讨论在这里: https://github.com/browserstate/history.js/issues/47

+3

嘿,我等待这个内部标志用户产生和生成的代码statechange区分。这确实会解决我的问题。希望很快它会在支持HTML4和HTML5的新版本中发布,然后我将下载。 – ace 2011-04-21 18:29:40

+0

损坏的链接,请更新您的答案。 – soju 2013-03-18 21:49:26

+0

烧酒:固定链接 – balupton 2013-03-18 22:14:02

相关问题