html5 - 微信localstorage兼容 - 微信内置浏览器localstorage



localStorage已满时会发生什么? (1)

我找到articles有关缓存行为的articles ,所以我只能假设它没有太大的不同,但我想确定。

我已经读过大多数浏览器都有5MB(给予或接受)localStorage,我对浏览器的行为感兴趣?

我理解每个浏览器的行为都不同但我主要在Safari,Chrome和Firefox中感兴趣(因为那些我认为是浏览器)。

  • 上面提到的浏览器会从我的网站上删除数据,还是会选择“最老的”或类似的东西?
  • 在这种情况下我的物品会被保存吗?

而最重要的是:

  • 让我说我“滥用”localStorage和我的网站尝试全部使用它,并在同一页面我填写并尝试保存更多,我会得到一个警告并且当发生这种情况时getItem将返回null或它以某种方式保存在记忆中?

  • 如果我尝试保存大于localStorage大小的项目会发生什么?

    回答:答案可以在here找到

  • 是否可以从sessionStorage预期相同的确切行为,哪些应该是相同的?

我知道这有很多问题,但我正在努力理解与这个主题相关的所有内容,我要感谢你能回答的问题的任何部分。

问候。


首先,一些有用的资源:

在回答您的问题时,桌面浏览器往往具有每个域5MB的初始最大localStorage配额。 在某些情况下,用户可以对此进行调整:

  • Opera:opera:config - > Domain Quota对于localStorage
  • Firefox:about:config - > dom.storage.default_quota

在Chrome中,用户似乎没有办法调整此设置,尽管像Opera一样,可以使用开发者工具直接在每个域中编辑localStorage数据。

当您尝试在localStorage中存储数据时,浏览器会检查当前域是否有足够的剩余空间。 如是:

  • 存储数据,如果已存在相同的密钥则覆盖值。

如果不:

  • 不存储数据,也不会覆盖现有数据。
  • 抛出QUOTA_EXCEEDED_ERR异常。

在这种情况下, getItem(key)将返回成功存储的最后一个值(如果有)。

(Opera略有不同,它显示一个对话框,让用户可以选择增加当前域的存储空间。)

请注意,sessionStorage和localStorage都是同一Storage对象的实现,因此它们的行为类似,并且错误处理是相同的。





local-storage