HTML5 本地存储错误 Safari



我的网站在ios safari浏览时出现此错误:

"QUOTA_EXCEEDED_ERR:DOM 例外 22:试图添加 超出配额的存储内容。

错误在下一行:

localStorage.setItem('abcdf', 'true');

我一直在网络上研究这个问题,并且总是指出这是我在私人浏览时,但就我而言,事实并非如此。我使用的是默认浏览器,而不是私人浏览。

知道吗?

问题是什么

localStorage大小限制为相对较小的大小(顶部几MB)。在 Safari 浏览器中,此异常发生在两种情况下:

  • 在隐私浏览模式下,不允许访问本地存储,因此调用localStorage.set将始终导致此错误。
  • 在常规浏览中,当超出配额时会发生此异常 - 也就是说,本地存储包含太多内容。Web 浏览器不保证localStorage的实际大小

修复它

除了在客户端存储更少的东西之外,最简单的解决方案是使用像IndexedDB这样具有更高配额的东西。它还表现得更好,因为它执行非阻塞 io。

最新更新