AJAX搜索后退按钮

时间:2012-08-22 14:19:37

标签: jquery ajax

我正在尝试使用我构建的AJAX搜索来解决后退按钮的使用问题,我遇到了一些麻烦。我按照this previous question的指示使用localStorage代码:

// Replace the search result table on load.
if (('localStorage' in window) && window['localStorage'] !== null) {
    if ('myTable' in localStorage && window.location.hash) {
        $("#myTable").html(localStorage.getItem('myTable'));
    }
}

// Save the search result table when leaving the page.
$(window).unload(function () {
    if (('localStorage' in window) && window['localStorage'] !== null) {
        var form = $("#myTable").html();
        localStorage.setItem('myTable', form);
    }
});

我无法理清如何正确清除localStorage。使用上述代码,用户可以执行搜索,单击链接,单击返回,并重新填充其结果。但是,如果他们离开网站并稍后返回或刷新搜索页面,他们的结果仍然存在。我该如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:3)

这样的东西?

localStorage.clear(); // <-- clears all local storage for domain

或单件物品

localStorage.removeItem('myTable');

如果你不喜欢localStorage在客户端手动删除之前一直存在的方式,那么还有sessionStorage https://developer.mozilla.org/en-US/docs/DOM/Storage

  

的sessionStorage

     

这是一个全局对象(sessionStorage),它维护一个在页面会话期间可用的存储区域。只要浏览器处于打开状态,页面会话就会持续,并且会在页面重新加载和恢复后继续存在。在新选项卡或窗口中打开页面将导致启动新会话。

     

//将数据保存到当前会话的商店

sessionStorage.setItem("username", "John");
  

//访问一些存储的数据

alert( "username = " + sessionStorage.getItem("username"));
  

sessionStorage对象对于挂起临时数据非常有用,如果浏览器被意外刷新,应该保存和恢复。