我使用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);
}
但是当我转到另一个页面然后点击浏览器的后退按钮&再次单击浏览器的后退按钮。它只删除浏览器网址而不替换以前状态的内容。