本地存储限制 - 我如何知道我是否已达到此限制?

时间:2014-11-20 16:27:17

标签: javascript local-storage

我有一个应用程序,我希望在Windows之间共享数据。数据几乎总是小于5MB,但在某些情况下可能是7MB或更多。为了在窗口之间共享这些数据,我需要将数据以块的形式写入本地存储,并且一旦收集了数据,就将其替换为要收集的下一个块。

我的问题是。如何使用javascript计算?我不仅需要计算数据的字节大小,而且我还需要计算我将给出“数据包”数据的任何头,所以当它被接收时,它可以连接到右边(不完整)“数据包”中。其他窗户。在本地存储中,我该如何理解,

一个。有多少数据?

B中。我的数据会占用多少空间?

1 个答案:

答案 0 :(得分:0)

规格中没有标准尺寸。 This StackOverflow answer显示两个引号,大多数浏览器的默认值为5mb,Internet Explorer的默认值为10mb。第二个引用很重要,因为它说每个浏览器都为用户提供了自定义此限制的能力。无法检测您是否接近极限。

如果超出浏览器的配额,则W3C spec setItem方法会抛出QuotaExceededError

关于存储数据的大小,您存储的是字符串。当然,你可以达到5mb或10mb,但这是一个庞大的数据量。要获得透视图,请查看大小为5mb的文本文件。虽然这可能无法准确描述您可以使用localStorage存储多少文本,但它仍然会很大!要么结束,在实现使用setItem的代码时,请务必检查是否抛出了异常。

相关问题