有没有办法用javascript重置/清除浏览器的localStorage?
当前回答
如果要从用户的本地存储中删除特定项或变量,可以使用
localStorage.removeItem("name of localStorage variable you want to remove");
其他回答
这里的代码给出了一个不想删除的键字符串列表,然后从本地存储中的所有键中筛选这些键,然后删除其他键。
const allKeys = Object.keys(localStorage);
const toBeDeleted = allKeys.filter(value => {
return !this.doNotDeleteList.includes(value);
});
toBeDeleted.forEach(value => {
localStorage.removeItem(value);
});
如果有人正在寻找在浏览器选项卡关闭时清除localStorage的方法,下面的代码是有效的。(示例用例:将一些复制的数据保存在localStoarge中,以粘贴到另一个选项卡上,但同时,需要缓存在所有以前的选项卡关闭时不显示在新选项卡上)
window.onbeforeunload=()=>{//获取具有指定密钥的localStorage项const storage=JSON.parse(localStorage.getItem('MY_KEY'));//清除缓存(如果存在)if(!isNil(存储))localStorage.removeItem('MY_KEY');};
它将一个eventListener添加到窗口中,以检测选项卡关闭,并在关闭之前清除选项卡的localStorage(指定键)。它不会清除其他选项卡上的localStorage(相同密钥)。
这是一个很好的解决方案,如果我们想只在关闭的选项卡中清除localStorage,并保持其他选项卡上的localStorage(相同键)不变。
因此
只要用户打开一个选项卡,用户就可以利用localStorage缓存,并且关闭所有选项卡后,localStorage将不会出现在新的选项卡。
使用此选项清除localStorage:
localStorage.clear();
如果要清除存储在localStorage中的所有项目,则
localStorage.clear();
使用此选项清除所有存储的密钥。
如果您只想清除/删除特定的键/值,则可以使用removeItem(键)。
localStorage.removeItem('yourKey');
window.localStorage.clear(); //try this to clear all local storage
推荐文章
- 如何在Typescript中解析JSON字符串
- Javascript reduce()在对象
- 在angularJS中& vs @和=的区别是什么
- 错误"Uncaught SyntaxError:意外的标记与JSON.parse"
- JavaScript中的querySelector和querySelectorAll vs getElementsByClassName和getElementById
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError:
- [].slice的解释。调用javascript?