Unchecked runtime.lastError while running storage.set: QUOTA_BYTES_PER_ITEM quota exceeded
Solution 1
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.
Use chrome.storage.local.set, to save the large data...instead of chrome.storage.sync.set.
As chrome.storage.local.set can contains 5242880 :QUOTA_BYTES.
See https://developer.chrome.com/extensions/storage
Also, you can get the alert if still want to use chrome.storage.sync.set using below code:
chrome.storage.sync.set(function() {
var error = chrome.runtime.lastError;
if (error) {
alert(error);
}
});
If you are getting same warning with chrome.storage.local too, then
Reason: The data you are trying to store is greater than the allowed storage with local i.e. 5242880 QUOTA_BYTES.
Solution: You can set the permission as unlimitedStorage in manifest.json file.
"permissions": [
.....
"unlimitedStorage",
.....
],
For more regarding permission
1) https://developer.chrome.com/extensions/storage#property-managed
2) https://developer.chrome.com/extensions/permission_warnings#nowarning
Solution 2
As outlined by wOxxOm in his comment above, the answer is covered in the chrome.storage documentation.
Moreover, it's always a good practice to implement error handling and check for runtime.lastError
. If everything is all right, it will be undefined. If there is a problem, it will be non-empty, and chrome.runtime.lastError.message
will explain what's wrong.
Chrome added checks that chrome.runtime.lastError
is actually checked (evaluated). If not, it considers this to be an unhandled exception, and throws this error.
Java4you
Learn Java programming with complete source code examples and also provide android, javascript, jquery and ajax tutorials and examples.
Updated on July 21, 2022Comments
-
Java4you almost 2 years
I am getting this exception in my background.html page. I don't know what this exception says. Can anyone explain this exception and also tell me how to resolve this exception.
The exception details are
Unchecked runtime.lastError while running storage.set: QUOTA_BYTES_PER_ITEM quota exceeded
Thank you.
-
Vishal Kumar over 4 yearsUse permission as unlimitedStorage in menifest file. Check both URLs: developer.chrome.com/apps/declare_permissions developer.chrome.com/extensions/permission_warnings#nowarning
-
titusfx almost 4 yearsunlimitedStorage doesn't fix the problem,
-
Vishal Kumar almost 4 years@titusfx, can you send me screenshots of code permission, file, where you are using this.
-
Shiv Singh about 2 yearsuser chrome.storage.local.set in place of chrome.storage.sync.set
-
Vishal Kumar about 2 years@ShivSingh, Hey, I think you didn't read complete solution. Kindly read it...it is the same as you mentioned.