Engaged on an online extension is an attention-grabbing expertise — you get to style internet whereas working with particular extension APIs. One such API is storage
— the net extension taste of persistence. Let’s discover how you need to use session
and native
storage inside your Manifest V3 internet extensions!
Enabling Extension Storage
The extension storage
API is not obtainable by default. To allow the storage
API, you could cite it within the manifest.json
file of your extension:
{ // extra.... "manifest_version": 3, "identify": "__MSG_appName__", "permissions": [ "storage", // more.... ], // extra.... }
Including storage
to the permissions
array, which is a high degree manifest.json
key, supplies session
and native
storage capabilities to your extension.
Get, Set, and Take away Storage Values
Very similar to conventional localStorage
and sessionStorage
APIs, extension storage supplies get
, set
, and take away
operations:
// set await chrome.storage.session.set({ identify: "David", coloration: "inexperienced" }); // get const { identify, coloration } = await chrome.storage.session.get(["name", "color"]); // take away await chrome.storage.session.take away(["name", "color"]);
A number of issues to notice:
get
requires an array argument, not a single worth likelocalStorage
andsessionStorage
set
must be an object formattake away
can be an array, very likeget
- You should utilize
chrome.storage.native
orchrome.storage.session
relying on how - The entire extension storage API strategies are promise-based, with
await
or callback codecs
Clear All Storage
Within the occasion that you simply wish to clear all information for native or session storage, there is a clear
methodology:
await chrome.storage.session.clear();
Utilizing clear
is efficient however you may wish to make sure that you do actually wish to clear all the things — clear
may develop into a upkeep problem.
Storage is an important a part of most internet extensions. Whereas the API is straightforward, the async format and methodology names are completely different.