html5 – localStorage已满时会发生什么?

前端之家收集整理的这篇文章主要介绍了html5 – localStorage已满时会发生什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我发现 articles关于缓存行为,所以我只能假设它没有太大的不同,但我想确保。

我已经阅读,大多数浏览器有5MB(给或取)localStorage和我是intereded在什么是浏览器的行为?

我理解每个浏览器行为不同,但我绝大多数在Safari,Chrome和Firefox(因为那些是我认为作为浏览器)。

>上面提到的浏览器会从我的网站删除数据还是会选择“最早的”还是类似的东西?
>在这种情况下我的项目会被保存吗?

最重要的是:

>让我说我“滥用”localStorage和我的网站试图使用它,并在同一页
我填充它,并尝试保存更多,我会得到一个警告,并将getItem返回null当这种情况发生或以某种方式保存在内存中?
>如果我尝试并保存一个大于localStorage大小的项目会发生什么?

回答:可以找到答案here
>是否同样确切的行为可以预期从sessionStorage有指责应该是相同的?

我知道这是很多问题,但我试图理解所有与主题相关的,我会感谢你的问题的任何部分,你可以回答。

问候。

解决方法

首先,一些有用的资源:

> Web
Storage Support Test
– 具有比较数据存储配额的表
浏览器之间。
> Simple
localStorage quota test

> Summary of localStorage browser behaviour
> W3C spec – 指示用户代理(例如浏览器)应该如何行为(localStorage和sessionStorage)。

为了回答您的问题,桌面浏览器往往对每个域的初始最大localStorage配额为5MB。在某些情况下,可由用户调整:

> Opera:opera:config – > localStorage的域配额
> Firefox:about:config – > dom.storage.default_quota

在Chrome中,用户似乎没有办法调整此设置,虽然像Opera,localStorage数据可以使用开发人员工具直接在每个域中进行编辑。

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

>存储数据,如果相同的键已经存在,则覆盖值。

如果不:

>不存储数据,并且不覆盖现有数据。
>抛出QUOTA_EXCEEDED_ERR异常。

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

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

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

原文链接:https://www.f2er.com/html5/169862.html

猜你在找的HTML5相关文章