我想在按下浏览器后退按钮时将ajax整个修改过的页面与内存中的javascript变量一起恢复。它已使用window.history.pushState()
手动添加到brwoser历史记录中。我正在尝试使用以下方式保存/恢复页面:
function changeURL(){
window.history.pushState(document.body.innerHTML,"","...");
}
window.onpopstate = function(e){
if(e.state){
document.body.innerHTML = e.state;
}
};
看起来这有效但只是一个问题,即加载时间页面的内存中的javascript变量不再存在,因为后续的ajax请求会对它们进行修改但是我没有做出任何恢复它们的规定按钮。如何将所有这些值恢复到变量?
答案 0 :(得分:1)
localStorage
或任何其他你喜欢的机制。编辑:我还建议不要将整个document.body.innerHTML
视为序列化“状态”。应该可以隔离用于修改HTML内容的变量,并将其用作您的状态。然后,您可以通过重新应用变量来重新生成相应的HTML。