Localstorage不存储

时间:2014-08-28 15:17:22

标签: javascript

当用户从搜索结果中查看某个项目然后返回结果时,我正在尝试保存页面状态。

周围的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);
    }
};

1 个答案:

答案 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我删除了用于演示目的的哈希检查