当用户从搜索结果中查看某个项目然后返回结果时,我正在尝试保存页面状态。
周围的div的id为mainContainer
,所以它基本上都在那里,我想保存然后恢复。
我使用的是原生javascript,而不是jquery。
以下是我正在尝试的内容:
// Replace the search results on load.
if (('localStorage' in window) && window['localStorage'] !== null) {
if ('myPage' in localStorage && window.location.hash) {
var el = document.getElementById('mainContainer');
el.innerHTML = localStorage.getItem('myPage');
}
}
// Save the search results when leaving the page.
window.onbeforeunload = function () {
if (('localStorage' in window) && window['localStorage'] !== null) {
var el = document.getElementById('mainContainer');
var form = el.innerHTML;
localStorage.setItem('myPage', form);
}
};
答案 0 :(得分:0)
据我所见,您的代码有语法错误
Uncaught SyntaxError:意外的令牌)
window.onbeforeunload = function () {
if (('localStorage' in window) && window['localStorage'] !== null) {
var el = document.getElementById('mainContainer');
var form = el.innerHTML;
localStorage.setItem('myPage', form);
}
});
//^Here
除此之外它似乎工作正常:JSFiddle。只需更改HTML中的内容再次运行小提琴,之前的HTML
将被存储并将被重新加载。 ( BTW我删除了用于演示目的的哈希检查)