我找到了关于缓存行为的articles,所以我只能假设它没有太大的不同,但我想确定。
我已经读过大多数浏览器都有5MB(赠送或接受)localStorage,我对浏览器的行为感兴趣吗?
我理解每个浏览器的行为都不同但我主要在Safari,Chrome和Firefox中感兴趣(因为我认为这些是浏览器)。
最重要的是:
让我说“滥用”localStorage和我的网站尝试全部使用它,并在同一页面
我正在填写并试图保存更多,我会收到警告和 getItem
会在发生这种情况时返回null还是以某种方式保存在内存中?
如果我尝试保存的项目大于localStorage大小会怎样?
已回答:可以找到答案here
对于sessionStorage,可以预期同样的确切行为应该是相同的吗?
我知道这有很多问题,但我正在努力理解与该主题相关的所有问题,我会感谢你能回答的问题的任何部分。
问候。
答案 0 :(得分:73)
首先,一些有用的资源:
在回答您的问题时,桌面浏览器的每个域的初始最大localStorage配额往往为5MB。在某些情况下,用户可以对此进行调整:
在Chrome中,用户似乎没有办法调整此设置,尽管像Opera一样,可以使用开发人员工具直接在每个域中编辑localStorage数据。
当您尝试在localStorage中存储数据时,浏览器会检查当前域是否有足够的剩余空间。 如果是的话:
如果不是:
QUOTA_EXCEEDED_ERR
个异常。在这种情况下,getItem(key)
将返回成功存储的最后一个值(如果有)。
(Opera略有不同,它显示一个对话框,让用户可以选择增加当前域的存储空间。)
请注意,sessionStorage和localStorage都是同一个Storage对象的实现,因此它们的行为相似,并且错误处理是相同的。