我需要清除我设置为localStorage的所有数据。我的意思是,当用户删除他们的帐户时,完全将localStorage重置为null。
localStorage
null
我如何用一个简单的函数做到这一点?
我试了一下:
function clearLocalStorage(){ return localStorage= null; }
但它并没有像预期的那样工作。
应该这样做:
function cleanLocalStorage() { for(key in localStorage) { delete localStorage[key]; } }
不过,使用这个时要小心,因为用户可能有其他数据存储在localStorage中,如果你删除它,可能会很生气。我建议要么a)不将用户的数据存储在localStorage中,要么b)将用户的帐户内容存储在单个变量中,然后清除该变量,而不是删除localStorage中的所有键。
编辑:正如Lyn指出的那样,你会很好地使用localStorage.clear()。然而,我之前的观点仍然有效。
localStorage.clear()
localStorage.clear();
应该工作。
如果您想从本地存储中删除/清除所有值,请使用
如果要从本地存储中删除特定项,请使用以下代码
localStorage.removeItem(key);
使用.one可以确保只执行一次,而不是重复执行。
.one
$(window).one("focus", function() { localStorage.clear(); });
放几个文件是可以的。准备好事件监听器(如果需要多次执行其他事件),只要为了可读性考虑,不要过度使用。
.one是特别有用的,当你希望本地存储只有一次打开网页或移动应用程序第一次安装时才被清除。
// Fired once when document is ready $(document).one('ready', function () { localStorage.clear(); });
它只适用于我在Firefox中从window对象访问它。
window
例子……
window.onload = function() { window.localStorage.clear(); }