jQuery History.js:关于浏览器前进后退按钮触发的statechange事件

发布于 2024-11-02 07:44:12 字数 676 浏览 4 评论 0原文

我刚刚将 History.js 集成到我的 jquery Ajax 应用程序中,但我找不到一种方法区分由于我自己的代码中的 History.pushState 以及由于用户单击浏览器后退和前进按钮而导致的 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);

那么我怎样才能实现这个目标呢?

I just integrated History.js in my jquery Ajax application but I could not find a way how to differentiate statechange event due to History.pushState in my own code and due to user clicking on Browser back and forward button (in both cases the event gets triggered).

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);

So how can I achieve this goal?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

柳絮泡泡 2024-11-09 07:44:13

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

There is a discussion about this here:
https://github.com/browserstate/history.js/issues/47

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文