我正在尝试使用我构建的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
。使用上述代码,用户可以执行搜索,单击链接,单击返回,并重新填充其结果。但是,如果他们离开网站并稍后返回或刷新搜索页面,他们的结果仍然存在。我该如何解决这个问题?谢谢!
答案 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对象对于挂起临时数据非常有用,如果浏览器被意外刷新,应该保存和恢复。