我发现文章关于缓存行为,所以我只能认为这是没有太大的不同,但我想确认。
我已阅读,大多数浏览器有5MB(给予或采取)为localStorage的和我,这将是浏览器的行为intrested?
我明白每一个浏览器的行为diffrently但我intrested大多在Safari,Chrome和Firefox(那些是我认为是浏览器的)。
- 将浏览器上面提到的从我的网站删除数据,或者会选择“最老”或类似的东西?
- 请问我的项目被保存在这样的情况下?
而最重要的是:
可以说,我“滥用”的localStorage的和我的网站尝试使用这一切,并在同一页我暂它,并试图挽救更多的,我会得到一个警告,将在getItem
发生这种情况时返回null或它以某种方式保存在内存中?
如果我尝试并保存较大然后localStorage的尺寸的商品,会发生什么?
回答:答案可以发现这里
是完全相同的行为可以从sessionStorage的可预期的allegdly应该是一样的吗?
我知道这是一个很大的问题,但我想了解所有的有关的主题,我会心存感激你能回答这个问题的任何部分。
问候。
首先,一些有用的资源:
- 网络存储支持测试 -有比较浏览器之间的数据存储配额的表。
- 简单localStorage的配额测试
- 的localStorage的浏览器行为摘要
- W3C规范 -指示用户代理(如浏览器)应该如何行为(包括localStorage的和的sessionStorage)。
在回答你的问题,桌面浏览器往往有每个域5MB的初始最大localStorage的配额。 这可以通过在某些情况下,用户可以调整:
- 歌剧:歌剧:配置 - >域配额的localStorage
- 火狐:about:config中 - > dom.storage.default_quota
在Chrome中,似乎没有成为一个方式为用户调整此设置虽然喜欢歌剧,localStorage的数据可以直接使用开发工具编辑每个域。
当您尝试将数据存储在本地存储,浏览器会检查是否有当前域足够的剩余空间。 如是:
如果不:
- 该数据不存储,不覆盖现有数据。
- 一个
QUOTA_EXCEEDED_ERR
抛出异常。
在这种情况下, getItem(key)
将返回成功被保存,如果任何一个值。
(Opera是,它显示一个对话框给用户为当前域增加的存储空间的选择稍有不同。)
需要注意的是的sessionStorage与localStorage的是相同的存储对象的两种实现这样他们的行为是相似的,错误处理是一样的。