Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 运行storage.set时未选中runtime.lastError:超出了每个项目的配额\u字节\u_Google Chrome_Google Chrome Extension_Google Chrome Devtools_Google Chrome App - Fatal编程技术网

Google chrome 运行storage.set时未选中runtime.lastError:超出了每个项目的配额\u字节\u

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始终是一个很好的实践。如果一切正常,它将是未定义的。如果有

我在background.html页面中遇到此异常。我不知道这个例外说明了什么。谁能解释一下这个异常,并告诉我如何解决这个异常

例外情况详细信息如下所示

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,你能给我发送代码权限、文件的截图吗,你在哪里使用这个。