我使用History.js
功能实现了History.pushState
。以下是代码:
function PushStateUrl(stateUrl) {
manualStateChange = false;
History.pushState({ loadUrl: stateUrl, rand: Math.random() }, document.title, stateUrl);
}
在浏览器的后退按钮上,此代码执行:
$(function () {
History.Adapter.bind(window, "statechange", function () {
var State = History.getState();
var url = ((State.data.loadUrl == "undefined") ? State.data.loadUrl : State.url);
if (typeof (manualStateChange) !== "undefined" && manualStateChange == true) {
AjaxCall(url);
}
else if (typeof (State.data.loadUrl) == "undefined") {
AjaxCall(url);
}
manualStateChange = true;
});
});
但我想使用replaceState()
代替pushState()
。请指导我使用history.replaceState()
答案 0 :(得分:0)
但我想使用replaceState()而不是pushState()。请指导我使用history.replaceState()
进行哪些更改
在代码中将单词push
更改为replace
。这两个函数采用相同的参数。
显然,如果你无处不在,那么处理后退按钮的代码就变得多余了(因为你永远不会回到存储状态)。