使用 history.js 时遇到后退按钮单击事件的问题

Facing an issue with back button click event using history.js

我已经使用 history.js(使用 pushState 方法)在 ajax 调用上实现了状态感知 URL。现在,当我单击任何浏览器的后退按钮时,它应该使用我的 ajax method.For 加载以前状态的内容,我已经完成了以下操作:

$(function () {
    // history.js 
    History.Adapter.bind(window, 'statechange', function () {
        var State = History.getState();
        callAjax(State.data.loadUrl);
    });
});

但是这段代码在每次状态更改时都会执行,在 forward/backward 时也会执行。我只想在任何浏览器的前进/后退事件上执行它。我该怎么做才能得到这个?

感谢任何帮助!

我做了以下事情:

$(function () {
// history.js
History.Adapter.bind(window, 'statechange', function () {
    if (manualStateChange == true) {
        var State = History.getState();
        callAjax(State.data.loadUrl);
    }
    manualStateChange = true;
});});

当我更改 URL 的状态时,我将值设置为:

manualStateChange = false;

如果我在 jquery 函数中为 manualStateChange 设置真值,那么在每次状态更改时它都会调用该函数。这就是为什么我从我的代码中删除了那行并且它对我有用。