我在我的background.html页面中收到此异常。我不知道这个例外说的是什么。任何人都可以解释此异常,并告诉我如何解决此异常。
例外情况
Unchecked runtime.lastError while running storage.set: QUOTA_BYTES_PER_ITEM quota exceeded
谢谢。
答案 0 :(得分:7)
当您使用 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);
}
});
答案 1 :(得分:1)
正如wOxxOm在上述评论中所述,答案在chrome.storage documentation中有所涉及。
此外,实现错误处理和检查runtime.lastError始终是一个好习惯。如果一切都好,那将是未定义的。如果有问题,它将是非空的,chrome.runtime.lastError.message将解释错误。
Chrome添加了检查,实际检查(评估)了chrome.runtime.lastError。如果没有,它认为这是一个未处理的异常,并抛出此错误。