我在background.html 页面中遇到此异常。我不知道这个例外说什么。谁能解释一下这个异常,并告诉我如何解决这个异常。
异常详情为
Unchecked runtime.lastError while running storage.set: QUOTA_BYTES_PER_ITEM quota exceeded
谢谢你。
当您使用
chrome.storage.sync.set
存储单个项目大于 8,192 (QUOTA_BYTES_PER_ITEM
) 字节的数据时,会发生此错误。
请参阅存储区域以供参考。
要存储大量数据,请使用
storage.local
,其总计限制为 10MB(Chrome 113 及更早版本中为 5,242,880 QUOTA_BYTES
),并且可以通过请求 manifest.json
中的“无限存储”权限来增加容量.
此外,如果仍想使用 chrome.storage.sync.set,您可以使用以下代码获取警报:
chrome.storage.sync.set(function() {
var error = chrome.runtime.lastError;
if (error) {
alert(error);
}
});
正如 wOxxOm 在上面的评论中概述的那样,答案包含在 chrome.storage 文档中。
此外,实施错误处理并检查
runtime.lastError
始终是一个好习惯。如果一切正常,它将是未定义的。如果有问题,就会非空,chrome.runtime.lastError.message
会解释哪里出了问题。
Chrome 添加了检查
chrome.runtime.lastError
是否已实际检查(评估)。如果不是,它认为这是一个未处理的异常,并抛出此错误。