html5 localstorage错误的safari

时间:2015-04-15 11:00:03

标签: javascript html5 safari local-storage

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

  

" QUOTA_EXCEEDED_ERR:DOM例外22:尝试添加   存储超出配额的东西。"

错误发生在下一行:

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

问题是什么

localStorage尺寸仅限于相对较小的尺寸(几MB顶部)。在Safari中,此异常发生在两种情况下:

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

修复它

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