javascript - localStorage - clear() 或 removeItem()?

标签 javascript html local-storage

我应该使用 clear() 清除 localStorage 中的所有内容,还是应该手动 removeItem() 我设置的那些在那个特定的网站上(很容易跟踪)?

我问是因为我不想最终清除用户的 localStorage 如果他们设置了其他值。我正在 localhost 中对此进行测试,并注意到通过使用 clear(),我之前在其他项目中设置的所有内容都被清除了。

编辑:我应该提到我知道 localStorage 是域锁定的。我正在运行一个遵循这种结构的网站:

public-html
(localStorage)
--project1
----files
--project2
----files
--project3
----files

每个文件使用它自己独立的 localStorage 变量。如果我在 project2 中 localstorage.clear(),project1 和 project3 的设置也会丢失。

最佳答案

localstorage 是一个 origin 的键控。因此,如果您的所有项目都在本地主机上运行,​​那么您将在使用 clear() 时清除所有值,唯一安全的方法是单独删除。

在生产环境中,每个项目都应该有自己的域,clear应该是安全的。

所以这是一个了解当前原点上还有什么的问题。如果您控制当前原点上的所有内容并且不介意全部清除,clear() 是最佳选择并且专为此目的而设计。如果您的代码的其他部分使用 localstorage 或托管在同一来源的其他项目,那么您将需要更具选择性并使用 removeItem()

关于javascript - localStorage - clear() 或 removeItem()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15486484/

相关文章:

javascript - 无法在 javascript 数组中提醒响应

javascript - 更改单击事件时按钮的颜色

javascript - 使用 localStorage 和 sessionStorage 作为元素树

javascript - 从远程服务器清除本地存储数据

javascript - IE9 不支持 localStorage?

javascript - 估算 MongoDB 中的 JS 对象存储大小

javascript - TypeScript各种文件扩展名解释?

jquery - 时钟选择器 : How to prevent click on input to open clockpicker

javascript - 获取分配给 "re-query"的 jQuery 变量

javascript - 将访问者重定向到另一个页面的最可靠方法是什么?