Google chrome 运行storage.set时未选中runtime.lastError:超出了每个项目的配额\u字节\u
我在background.html页面中遇到此异常。我不知道这个例外说明了什么。谁能解释一下这个异常,并告诉我如何解决这个异常 例外情况详细信息如下所示Google chrome 运行storage.set时未选中runtime.lastError:超出了每个项目的配额\u字节\u,google-chrome,google-chrome-extension,google-chrome-devtools,google-chrome-app,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 谢谢。正如在上面的评论中所概述的,答案包含在 此外,实现错误处理并检查runtime.lastError始终是一个很好的实践。如果一切正常,它将是未定义的。如果有
Unchecked runtime.lastError while running storage.set: QUOTA_BYTES_PER_ITEM quota exceeded
谢谢。正如在上面的评论中所概述的,答案包含在
此外,实现错误处理并检查runtime.lastError
始终是一个很好的实践。如果一切正常,它将是未定义的。如果有问题,它将是非空的,chrome.runtime.lastError.message
将解释问题所在
Chrome添加了检查Chrome.runtime.lastError
是否已实际检查(评估)。如果不是,它将认为这是一个未处理的异常,并抛出此错误
当您使用chrome.storage.sync.set…将单个项目的数据设置为大于8192字节时,会出现此错误,因为chrome.storage.sync.set允许每个项目8192个配额字节
使用chrome.storage.local.set保存大数据…而不是chrome.storage.sync.set。Aschrome.storage.local.set可以包含5242880:QUOTA\u字节
"permissions": [
.....
"unlimitedStorage",
.....
],
请参见
此外,如果仍要使用chrome.storage.sync.set,您可以使用以下代码获取警报:
chrome.storage.sync.set(function() {
var error = chrome.runtime.lastError;
if (error) {
alert(error);
}
});
如果chrome.storage.local也收到同样的警告,那么
原因:您试图存储的数据大于允许的本地存储容量,即5242880配额字节。解决方案:您可以将权限设置为manifest.json文件中的unlimitedStorage
"permissions": [
.....
"unlimitedStorage",
.....
],
有关权限的更多信息1)
2) 即使不看文档,我也会猜测“
存储…超过每项配额的字节数”
”是指您试图在单个键下存储太大的对象。谢谢您的回复。我使用chrome.storage.local 5242880配额字节解决了我的问题。这解决了我的问题。可以存储在本地存储器中的最大数据量(字节),由每个值加上每个键的长度的JSON字符串化来衡量。如果扩展名具有unlimitedStorage权限Use权限作为menifest文件中的unlimitedStorage,则将忽略此值。检查两个URL:unlimitedStorage不能解决问题,@titusfx,你能给我发送代码权限、文件的截图吗,你在哪里使用这个。