Html 当本地存储已满时会发生什么情况?

Html 当本地存储已满时会发生什么情况?,html,firefox,google-chrome,safari,local-storage,Html,Firefox,Google Chrome,Safari,Local Storage,我发现了缓存行为,所以我只能假设它没有太大的不同,但我想确定一下 我读到大多数浏览器都有5MB的本地存储空间,我对浏览器的行为很感兴趣 我知道每个浏览器都有不同的行为,但我主要是在Safari、Chrome和Firefox中(因为那些是我认为的浏览器)。 上面提到的浏览器会从我的网站上删除数据,还是会选择“最旧的”或类似的东西 在这种情况下我的物品会被保存吗 最重要的是: 假设我“滥用”了本地存储和我的网站,试图在同一个页面中使用它们 我正在填充它并试图保存更多内容,我是否会收到一个警告,

我发现了缓存行为,所以我只能假设它没有太大的不同,但我想确定一下

我读到大多数浏览器都有5MB的本地存储空间,我对浏览器的行为很感兴趣

我知道每个浏览器都有不同的行为,但我主要是在Safari、Chrome和Firefox中(因为那些是我认为的浏览器)。
  • 上面提到的浏览器会从我的网站上删除数据,还是会选择“最旧的”或类似的东西
  • 在这种情况下我的物品会被保存吗
最重要的是:

  • 假设我“滥用”了本地存储和我的网站,试图在同一个页面中使用它们 我正在填充它并试图保存更多内容,我是否会收到一个警告
    getItem
    是否会在发生这种情况时返回null,或者以某种方式保存在内存中

  • 如果我尝试保存一个大于本地存储大小的项目,会发生什么

    答案:可以找到答案

  • sessionStorage是否可以预期同样的行为,据称应该是相同的

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


关于。

首先,一些有用的资源:

  • -有一个比较数据存储配额的表 在浏览器之间
  • -指示用户代理(如浏览器)的行为方式(本地存储和会话存储)
为了回答您的问题,桌面浏览器的初始最大本地存储配额往往为每个域5MB。在某些情况下,用户可以对此进行调整:

  • Opera:Opera:config->localStorage的域配额
  • Firefox:about:config->dom.storage.default\u配额
在Chrome中,用户似乎没有办法调整此设置,尽管与Opera一样,localStorage数据可以使用开发人员工具在每个域中直接编辑

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

  • 存储数据,如果已经存在相同的键,则覆盖值
如果否:

  • 不会存储数据,也不会覆盖现有数据
  • 将引发
    配额超出\u错误
    异常
在这种情况下,
getItem(key)
将返回成功存储的最后一个值(如果有)

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


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

当您尝试它时,发生了什么事?我还没有填满它,我正在尝试进行更多的研究,以确保我不会犯最初的错误。我不太确定如何尝试,我看到没有这样的问题或文章,我认为这可能是一个很好的人张贴。一旦我达到这一点,我将添加我自己的结论,如果到那时还没有回答。看看这个:这确实回答了第四个问题,这是一些问题,但我正在寻找更多的信息。这似乎是一个可靠的答案,谢谢你的时间!不客气。对不起,我没有Safari或IE的信息(我在Linux上)。如果我理解正确,这是否意味着所有浏览器都有特定于域的配额限制?或者(比方说)5MB内存是由所有域共享的?每个源(域)都有一个单独的存储空间,因此大小限制不是由所有域共享的。该规范称“建议对每个源进行5兆字节的任意限制。”