[英]Save/ restore all javascript variables on browser back/forwd button click
我想在按下浏览器后退按钮时将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请求修改的,但是我没有做任何准备来在按下返回按钮时恢复它们。 如何将所有这些值还原到变量?
localStorage
或您喜欢的任何其他机制。 编辑:我也建议不要将document.body.innerHTML
的整体视为序列化的“状态”。 应该可以隔离用于修改HTML内容的变量,并将其用作状态。 然后,您可以通过重新应用变量来重新生成相应的HTML。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.