html5 本地存储错误 safari
html5 localstorage error safari
当我在 ios Safari 浏览器中浏览时,我的网站出现此错误:
"QUOTA_EXCEEDED_ERR: DOM Exception 22: An attempt was made to add
something to storage that exceeded the quota."
错误在下一行:
localStorage.setItem('abcdf', 'true');
我一直在网络上研究这个问题,并且总是在我处于隐私浏览状态时指出,但在我的情况下,它不是。
我使用的是默认浏览器,而不是隐私浏览。
有什么想法吗?
问题是什么
localStorage
大小被限制为相对较小的大小(最高几 MB)。在 Safari 中,这种异常发生在两种情况下:
- 在隐私浏览模式下没有 localStorage 访问是允许的所以调用
localStorage.set
总是会导致这个错误。
- 在常规浏览中,当超出配额时会发生此异常 - 也就是说,localStorage 包含的内容太多。 Web 浏览器不保证
localStorage
的实际大小
正在修复
除了在客户端存储更少的东西之外,最简单的解决方案是使用类似 IndexedDB
的东西,它有更高的配额。它的性能也更好,因为它执行非阻塞 io。
当我在 ios Safari 浏览器中浏览时,我的网站出现此错误:
"QUOTA_EXCEEDED_ERR: DOM Exception 22: An attempt was made to add something to storage that exceeded the quota."
错误在下一行:
localStorage.setItem('abcdf', 'true');
我一直在网络上研究这个问题,并且总是在我处于隐私浏览状态时指出,但在我的情况下,它不是。 我使用的是默认浏览器,而不是隐私浏览。
有什么想法吗?
问题是什么
localStorage
大小被限制为相对较小的大小(最高几 MB)。在 Safari 中,这种异常发生在两种情况下:
- 在隐私浏览模式下没有 localStorage 访问是允许的所以调用
localStorage.set
总是会导致这个错误。 - 在常规浏览中,当超出配额时会发生此异常 - 也就是说,localStorage 包含的内容太多。 Web 浏览器不保证
localStorage
的实际大小
正在修复
除了在客户端存储更少的东西之外,最简单的解决方案是使用类似 IndexedDB
的东西,它有更高的配额。它的性能也更好,因为它执行非阻塞 io。