本地存储值的最大大小是多少?

2022-08-29 22:36:49

由于(目前)仅支持字符串作为值,并且为了做到这一点,对象需要先字符串化(存储为JSON字符串)然后才能存储,因此对值的长度是否有定义的限制。localStorage

有谁知道是否有适用于所有浏览器的定义?


答案 1

引用维基百科关于Web存储的文章

Web存储可以简单地视为对cookie的改进,提供更大的存储容量(在Google Chrome(https://plus.google.com/u/0/+FrancoisBeaufort/posts/S5Q9HqDB8bh),Mozilla Firefox和Opera中每个来源10 MB;在Internet Explorer中每个存储区域10 MB)和更好的编程界面。

还引用了John Resig的一篇文章[发表于2007年1月]:

储物空间

这意味着,使用 DOM 存储,您拥有的存储空间比对 Cookie 施加的典型用户代理限制要多得多。但是,提供的量未在规范中定义,也不会由用户代理进行有意义的广播。

如果您查看Mozilla源代码,我们可以看到5120KB是整个域的默认存储大小。这为您提供了比典型的 2KB Cookie 更多的使用空间。

但是,这个存储区域的大小可以由用户自定义(因此不能保证5MB的存储区域,也不暗示)和用户代理(例如,Opera可能只提供3MB - 但只有时间会证明。


答案 2

实际上Opera没有5MB的限制。随着应用程序需要更多,它提供了增加限制的功能。用户甚至可以为域选择“无限存储空间”。

您可以自己轻松测试本地存储限制/配额