我正在开发chrome扩展并使用旧的localStorage存储设置和缓存而不是新的chrome.storage.local和chrome.storage.sync。我有unlimitedStorage
权限,然后我的缓存变得很大我收到了QuotaExceededError。如何克服这个问题?
答案 0 :(得分:3)
localStorage
不是,也不会是无限的文档中说明了unlimitedStorage
权限不适用于localStorage
的事实。引用的错误issue 58985被标记为" WontFix"因此,没有,也不会是您在localStorage
中存储无限数据的解决方案。您需要选择其他一些存储数据的方法。
storage.local
您的选项包括明确用于存储数据扩展的chrome.storage
。您可以使用storage.local
(可以使用unlimitedStorage
权限无限制)或在用户的Google帐户中同步的数据{{3}来存储计算机本地数据} {({em>不设置为unlimitedStorage
无限制。)
storage.sync
还有其他存储数据的选项。例如,Web SQL Database,unlimitedStorage
权限专门授予无限存储空间。
使用unlimitedStorage
权限,您可以使用File API存储的数据量不受限制。您还可以通过拨打MDN单独请求特定的配额大小,而无需使用unlimitedStorage
权限。执行此操作时,将要求用户批准存储请求。如果您使用unlimitedStorage
权限,则无需单独申请配额。
最好使用的内容取决于您使用存储的确切内容。您没有提供有关实际使用情况的信息,因此我们无法确定您的情况可能适合哪些情况。
关于应用程序缓存增长到unlimitedStorage
权限的大问题:是的,文档明确指出声明unlimitedStorage
权限将导致应用程序缓存变得无限制。如果这是一个问题,您将不需要声明unlimitedStorage
权限。