google-chrome - 运行 storage.set 时未检查runtime.lastError : QUOTA_BYTES_PER_ITEM quota exceeded

标签 google-chrome google-chrome-extension google-chrome-devtools google-chrome-app

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

异常详细信息是

Unchecked runtime.lastError while running storage.set: QUOTA_BYTES_PER_ITEM quota exceeded

谢谢。

最佳答案

This error comes when you use chrome.storage.sync.set...to set the data greater than 8,192 bytes for a single item as chrome.storage.sync.set allows 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);  
   }  
});   

如果您在 chrome.storage.local 中也收到相同的警告,那么

原因:您尝试存储的数据大于本地允许的存储空间,即 5242880 QUOTA_BYTES。
解决方案:您可以在manifest.json文件中将权限设置为unlimitedStorage

  "permissions": [   
    .....  
    "unlimitedStorage",  
    .....  
   ],

有关许可的更多信息
1) https://developer.chrome.com/extensions/storage#property-managed
2) https://developer.chrome.com/extensions/permission_warnings#nowarning

关于google-chrome - 运行 storage.set 时未检查runtime.lastError : QUOTA_BYTES_PER_ITEM quota exceeded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33015723/

相关文章:

google-chrome-extension - Chrome 扩展程序 : Copy text

google-chrome-extension - 谷歌浏览器 : updating extension in "Developer mode" (locally) from userscript

google-chrome-devtools - Chrome开发者工具箱在回发后保存控制台日志

javascript - 无法通过 Chrome 扩展程序编辑响应 header

google-chrome - 如何仅使用chrome键盘从html多重选择中选择多个非连续选项?

javascript - 为什么 Google Chrome 找不到我的 app.js 文件

node.js - 使用 Chrome 开发者工具调试 LESS

google-chrome - Selenium : pc account lockout while running Test Automation in Selenium Webdriver

javascript - Chrome 扩展程序 OATH 401 错误(未经授权)

knockout.js - 有没有办法使用 Chrome 调试器检查 knockout 可观察量?