存储在 localStorage
(作为 HTML5 中 DOM 存储的一部分)中的数据可用多长时间?我可以为放入本地存储的数据设置过期时间吗?
原文由 user280427 发布,翻译遵循 CC BY-SA 4.0 许可协议
存储在 localStorage
(作为 HTML5 中 DOM 存储的一部分)中的数据可用多长时间?我可以为放入本地存储的数据设置过期时间吗?
原文由 user280427 发布,翻译遵循 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 许可协议
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
无法指定到期时间。这完全取决于用户。
https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
当然,您的应用程序存储在客户端上的某些内容可能稍后会不存在。用户可以明确地摆脱本地存储,或者浏览器可能会遇到空间问题。进行防御性编程是件好事。然而,一般来说,基于该词的一些实际定义,事物仍然是“永远”的。
_编辑_——显然,如果你自己的应用程序认为它太旧了,它可以主动删除它。也就是说,您可以在保存的内容中明确包含某种时间戳,然后稍后使用它来决定是否应该刷新信息。