【问题标题】:LocalStorage - detect if local storage is already fullLocalStorage - 检测本地存储是否已满
【发布时间】:2017-08-24 06:42:01
【问题描述】:

有没有办法检测本地存储是否已达到其要存储的最大值? 或者至少是一条错误消息,告诉我不能再存储,因为我已经达到了最大尺寸?我想抓住这个,这样我就可以删除本地存储中最旧的项目并插入新的项目。

我正在使用本地存储来存储我的数据库中的一些查询,因此如果本地存储中存在该特定项目,用户将能够立即加载它们。如果没有,那就是我在服务器中检索数据的时间。

【问题讨论】:

标签: javascript jquery local-storage


【解决方案1】:

尝试添加到本地存储时,如果没有足够的空间,将抛出此错误。在您的特定场景中,您可以使用此事件来释放一些空间。

try {
  localStorage.setItem("name", "Hello World!"); //saves to the database, "key", "value"
} catch (e) {
  if (e == QUOTA_EXCEEDED_ERR) {
    alert('Quota exceeded!'); //data wasn't successfully saved due to quota exceed so throw an error
  }
}

感谢 - http://chrisberkhout.com/blog/localstorage-errors/

【讨论】:

  • 对于那些不访问信用链接的人,应该提到这对于所有当前版本的主要浏览器都不能正常工作。检查 e.code === "22" || e.code === "1024" 在大多数情况下可能足以涵盖这些内容。 (在当前版本的 Chrome、Firefox(+Dev-Edition)、Opera、Edge、IE 中测试。)
猜你喜欢
  • 2014-03-07
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
  • 2021-02-11
  • 1970-01-01
  • 2010-10-30
  • 2017-04-23
  • 1970-01-01
相关资源
最近更新 更多