HTML5 本地存储中的项目何时过期?

新手上路,请多包涵

存储在 localStorage (作为 HTML5 中 DOM 存储的一部分)中的数据可用多长时间?我可以为放入本地存储的数据设置过期时间吗?

原文由 user280427 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 774
2 个回答

无法指定到期时间。这完全取决于用户。

https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

当然,您的应用程序存储在客户端上的某些内容可能稍后会不存在。用户可以明确地摆脱本地存储,或者浏览器可能会遇到空间问题。进行防御性编程是件好事。然而,一般来说,基于该词的一些实际定义,事物仍然是“永远”的。

_编辑_——显然,如果你自己的应用程序认为它太旧了,它可以主动删除它。也就是说,您可以在保存的内容中明确包含某种时间戳,然后稍后使用它来决定是否应该刷新信息。

原文由 Pointy 发布,翻译遵循 CC BY-SA 4.0 许可协议

我建议将时间戳存储在您存储在 localStorage 中的 对象

var object = {value: "value", timestamp: new Date().getTime()}
localStorage.setItem("key", JSON.stringify(object));

您可以解析该对象,获取时间戳并与当前日期进行比较,并在必要时更新对象的值。

 var object = JSON.parse(localStorage.getItem("key")),
    dateString = object.timestamp,
    now = new Date().getTime().toString();

compareTime(dateString, now); //to implement


或者,您可以使用像 localstorage-slim.js 这样的轻量级包装器来为您处理这个问题。

原文由 sebarmeli 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题