我应该使用 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/