191

我需要清除我设置的所有数据localStorage。我的意思是完全重置localStoragenull用户删除他们的帐户时。

我怎样才能用一个简单的功能做到这一点?

我试过这个:

function clearLocalStorage(){
    return localStorage= null;
}

但它没有按预期工作。

4

5 回答 5

495

localStorage.clear();

应该管用。

于 2012-05-22T21:51:01.090 回答
105

如果您想从本地存储中删除/清除所有值而不是使用

localStorage.clear();

如果您想从本地存储中删除特定项目,请使用以下代码

localStorage.removeItem(key);
于 2012-05-23T11:05:49.887 回答
12

window从对象访问它时,它仅在 Firefox 中对我有用。

例子...

window.onload = function()
{
 window.localStorage.clear();
}
于 2014-10-09T11:17:40.923 回答
10

使用.one可确保仅执行一次而不是重复执行此操作。

$(window).one("focus", function() {
    localStorage.clear();
});

为了可读性,放几个 document.ready 事件监听器(如果你需要其他事件多次执行)是可以的,只要不过度。

.one当您希望仅在第一次打开网页或第一次安装移动应用程序时清除本地存储时,此功能特别有用。

   // Fired once when document is ready
   $(document).one('ready', function () {
       localStorage.clear();
   });
于 2012-12-05T07:47:09.327 回答
4

这样的事情应该做:

function cleanLocalStorage() {
    for(key in localStorage) {
        delete localStorage[key];
    }
}

但是,使用它时要小心,因为用户可能存储了其他数据,localStorage如果您删除它,可能会被打勾。我建议 a) 不将用户的数据存储在localStorage或 b) 将用户的帐户内容存储在单个变量中,然后清除它而不是删除localStorage.


编辑:正如 Lyn 指出的那样,你会很擅长localStorage.clear(). 然而,我之前的观点仍然成立。

于 2012-05-22T21:49:59.233 回答