不加载History.js中先前状态的内容以了解何时按下后退按钮

时间:2015-12-04 13:39:02

标签: javascript jquery ajax browser-history history.js

我使用history.js(使用pushState方法)在ajax调用上实现了State Aware URL。现在,当我点击任何浏览器的后退按钮时,它应该使用我的ajax方法加载以前状态的内容。为此,我做了以下操作:

$(function () {
History.Adapter.bind(window, 'statechange', function () {
    if (typeof (manualStateChange) !== 'undefined' && manualStateChange == true) {        
    var State = History.getState();
    callingAjax(State.data.loadUrl);
    }
    manualStateChange = true;
  });
});

每当我以编程方式更改状态时,请将bool设置为false:

function pushfun(stateUrl) {
    manualStateChange = false;
    History.pushState({ loadUrl: stateUrl, rand: Math.random() }, document.title, stateUrl);
}

但是当我转到另一个页面然后点击浏览器的后退按钮&再次单击浏览器的后退按钮。它只删除浏览器网址而不替换以前状态的内容。

0 个答案:

没有答案