Engaged on an web extension is an attention-grabbing experience — you get to model web whereas working with explicit extension APIs. One such API is storage
— the web extension mannequin of persistence. Let’s uncover how you’ll want to use session
and native
storage inside your Manifest V3 web extensions!
Enabling Extension Storage
The extension storage
API will not be accessible available on the market by default. To permit the storage
API, it is good to quote all of it by way of the manifest.json
file of your extension:
{ // additional.... "manifest_version": 3, "resolve": "__MSG_appName__", "permissions": [ "storage", // more.... ], // additional.... }
Together with storage
to the permissions
array, which is a most important stage manifest.json
key, provides session
and native
storage capabilities to your extension.
Get, Set, and Take away Storage Values
Very like commonplace localStorage
and sessionStorage
APIs, extension storage provides get
, set
, and take away
operations:
// set await chrome.storage.session.set({ resolve: "David", shade: "inexperienced" }); // get const { resolve, shade } = await chrome.storage.session.get(["name", "color"]); // take away await chrome.storage.session.take away(["name", "color"]);
Only a few elements to note:
get
requires an array argument, not a single worth likelocalStorage
andsessionStorage
set
should be an object formattake away
may presumably be an array, very similar toget
- It’s best to revenue from
chrome.storage.native
orchrome.storage.session
counting on how - Your complete extension storage API methods are promise-based, with
await
or callback codecs
Clear All Storage
All by way of the event that you simply simply merely merely want to clear all data for native or session storage, there’s a clear
methodology:
await chrome.storage.session.clear();
Using clear
is setting nice nevertheless you’ll want to merely take into account to do really want to clear each difficulty — clear
may develop to be a maintenance concern.
Storage is a needed part of most web extensions. Whereas the API is straightforward, the async format and methodology names are absolutely fully fully totally different.
[ad_2]