Chome Extension - QuotaExceededError localStorage

时间:2017-03-31 14:02:58

标签: google-chrome-extension local-storage

我正在开发chrome扩展并使用旧的localStorage存储设置和缓存而不是新的chrome.storage.local和chrome.storage.sync。我有unlimitedStorage权限,然后我的缓存变得很大我收到了QuotaExceededError。如何克服这个问题?

1 个答案:

答案 0 :(得分:3)

localStorage不是,也不会是无限的

文档中说明了unlimitedStorage权限不适用于localStorage的事实。引用的错误issue 58985被标记为" WontFix"因此,没有,也不会是您在localStorage中存储无限数据的解决方案。您需要选择其他一些存储数据的方法。

无限存储选项

storage.local

您的选项包括明确用于存储数据扩展的chrome.storage。您可以使用storage.local(可以使用unlimitedStorage权限无限制)或在用户的Google帐户中同步的数据{{3}来存储计算机本地数据} {({em>不设置为unlimitedStorage无限制。)

storage.sync

还有其他存储数据的选项。例如,Web SQL DatabaseunlimitedStorage权限专门授予无限存储空间。

HTML5本地Web SQL Database File API

使用unlimitedStorage权限,您可以使用File API存储的数据量不受限制。您还可以通过拨打MDN单独请求特定的配额大小,而无需使用unlimitedStorage权限。执行此操作时,将要求用户批准存储请求。如果您使用unlimitedStorage权限,则无需单独申请配额。

使用什么

最好使用的内容取决于您使用存储的确切内容。您没有提供有关实际使用情况的信息,因此我们无法确定您的情况可能适合哪些情况。

应用程序缓存

关于应用程序缓存增长到unlimitedStorage权限的大问题:是的,文档明确指出声明unlimitedStorage权限将导致应用程序缓存变得无限制。如果这是一个问题,您将不需要声明unlimitedStorage权限。