hap*_*set 2 javascript local-storage google-chrome-extension
我正在开发一个 Chrome 扩展程序,并使用旧的 localStorage 来存储设置和缓存,而不是新的chrome.storage.local和chrome.storage.sync. 我获得了unlimitedStorage许可,然后我的缓存变得巨大。我正在接收QuotaExceededError。
如何克服这个问题呢?
localStorage不是、也不会是无限的文档中说明了该unlimitedStorage许可不适用于的事实。localStorage所引用的错误(问题 58985)于 2010 年 12 月被标记为“WontFix”。因此,现在没有也不会有解决方案供您在localStorage. 您将需要选择其他一些方法来存储数据。
storage.local您的选项包括chrome.storage明确用于存储数据的扩展的选项。您可以存储计算机本地的数据,使用storage.local(可以不受权限限制unlimitedStorage),或在用户的 Google 帐户之间同步的数据,使用storage.sync(配额未设置为无限制unlimitedStorage)。
还有其他存储数据的选项。例如Web SQL数据库,它被专门授予了无限存储的权限unlimitedStorage。
如果获得许可,您可以使用文件 API 存储的数据量将不受限制unlimitedStorage。您还可以通过调用 来单独请求特定的配额大小webkitStorageInfo.requestQuota(),而无需使用unlimitedStorage权限。当您这样做时,系统将要求用户批准存储请求。如果您确实使用该unlimitedStorage权限,则无需单独请求配额。
最好使用什么取决于您使用存储的具体用途。您没有提供有关实际用途的信息,因此我们无法判断什么最适合您的情况。
至于您的应用程序缓存随着unlimitedStorage权限而增长到很大的问题:是的,文档明确指出声明unlimitedStorage权限将导致应用程序缓存变得无限。如果这是一个问题,您将不需要声明许可unlimitedStorage。
| 归档时间: |
|
| 查看次数: |
2619 次 |
| 最近记录: |