localStorage.clear()用法

时间:2017-09-15 03:50:46

标签: javascript local-storage

localStorage.clear()似乎以完全擦除所有本地存储的方式运行。本地存储似乎适合我的用例,但我担心本地存储不能保证不在我的控制之外清除。

例如:

我的网站有一行代码:

localStorage.setItem('some', 'data');

在另一个标签上的同一浏览器中运行的其他一些网站有以下代码:

localStorage.clear();

如果发生这种情况,当我访问localStorage.getItem('some');时,它会返回null,因为其他人已经localStorage.clear()了。

  1. 我们应该永远不会运行localStorage.clear()吗?
  2. 如果我很重要,localStorage.clear()的正确用法是什么? 使用本地存储并且不想写大量代码来删除 来自本地存储的项目 localStorage.removeItem('item1'); localStorage.removeItem('item2'); // etc...
  3. 是否有某种方法可以阻止物品被移除? 在其他地方运行localStorage.clear()

2 个答案:

答案 0 :(得分:3)

无需担心,每次打开新窗口或选项卡时,都会创建一个新会话,而localStorage引用该选项卡/窗口的本地会话,该会话/窗口对于该域是唯一的。

  1. 运行良好,只会清除变量

  2. 如果您需要清除所有内容,请随意使用localStorage.clear()

  3. 其他人无法清除您的本地存储空间

  4. https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API

答案 1 :(得分:2)

每个域名都是唯一的。例如,您域名的localStorage

protocol://abc.comprotocol://xyz.com

不同