运行storage.set时未选中runtime.lastError:超出QUOTA_BYTES_PER_ITEM配额

Jav*_*you 5 google-chrome google-chrome-extension google-chrome-devtools google-chrome-app

我在我的background.html页面中收到此异常.我不知道这个例外说的是什么.任何人都可以解释此异常,并告诉我如何解决此异常.

例外细节是

Unchecked runtime.lastError while running storage.set: QUOTA_BYTES_PER_ITEM quota exceeded
Run Code Online (Sandbox Code Playgroud)

谢谢.

Vis*_*hal 11

当您使用chrome.storage.sync.set ..为单个项目设置大于8,192字节的数据时会出现此错误,因为chrome.storage.sync.set允许8,192 QUOTA_BYTES_PER_ITEM.

使用chrome.storage.local.set ..来设置数据而不是chrome.storage.sync.set.
由于chrome.storage.local.set可以包含5242880:QUOTA_BYTES.

请参阅https://developer.chrome.com/extensions/storage

此外,如果仍想使用以下代码使用chrome.storage.sync.set,则可以获取警报:

chrome.storage.sync.set(function() {  
   var error = chrome.runtime.lastError;  
   if (error) {  
      alert(error);  
   }  
});  
Run Code Online (Sandbox Code Playgroud)

  • 无限存储并不能解决问题, (5认同)
  • @ShivSingh,嘿,我认为你没有阅读完整的解决方案。请阅读它...它与您提到的相同。 (2认同)

小智 4

正如wOxxOm在上面的评论中概述的那样,答案包含在chrome.storage 文档中。

此外,实施错误处理和检查runtime.lastError. 如果一切正常,它将是未定义的。如果有问题,它会是非空的,并且chrome.runtime.lastError.message会解释哪里出了问题。

Chrome 添加了chrome.runtime.lastError实际检查(评估)的检查。如果不是,它认为这是一个未处理的异常,并抛出此错误。