当按下浏览器后退按钮时,我想恢复一个 ajax 整个修改页面以及内存中的 javascript 变量。它是使用手动添加到浏览器历史记录中的window.history.pushState()
。我正在尝试使用以下方法保存/恢复页面:
function changeURL(){
window.history.pushState(document.body.innerHTML,"","...");
}
window.onpopstate = function(e){
if(e.state){
document.body.innerHTML = e.state;
}
};
看起来这可行,但只是一个问题,即加载页面时内存中的 javascript 变量不再存在,因为它们被后续的 ajax 请求修改,但我没有做出任何规定来在按下后退按钮时恢复它们。如何将所有这些值恢复到变量?