storage.local
Represents the local
storage area. Items in local
storage are local to the machine the extension was installed on.
The browser may restrict the amount of data that an extension can store in the local storage area:
- Chrome limits the extension to 5MB of data using this API unless it has the
"unlimitedStorage"
permission. - Firefox enables you to ask for the
"unlimitedStorage"
permission from version 56 onwards. It does not yet restrict the amount of data your extension can store, but will start doing so in a future release. Thus, it's a good idea to ask for the"unlimitedStorage"
permission now, if you intend to store a large amount of data.
When the extension is uninstalled, its associated local storage is cleared.
Also in Firefox, you can prevent the browser from clearing local storage on uninstall by visiting about:config
and setting the following two browser preferences to true
: "keepUuidOnUninstall"
and "keepStorageOnUninstall"
. This feature is provided to help developers test their extensions. Extensions themselves are not able to change these preferences.
Although this API is similar to Window.localStorage
it is recommended that you don't use Window.localStorage
in extension code. Firefox will clear data stored by extensions using the localStorage API in various scenarios where users clear their browsing history and data for privacy reasons, while data saved using the storage.local
API will be correctly persisted in these scenarios.
Methods
The local
object implements the methods defined on the storage.StorageArea
type:
storage.StorageArea.get()
- Retrieves one or more items from the storage area.
storage.StorageArea.getBytesInUse()
- Gets the amount of storage space (in bytes) used one or more items being stored in the storage area.
storage.StorageArea.set()
- Stores one or more items in the storage area. If the item already exists, its value will be updated. When you set a value, the
storage.onChanged
event will fire. storage.StorageArea.remove()
- Removes one or more items from the storage area.
storage.StorageArea.clear()
- Removes all items from the storage area.
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
local |
Yes |
14 |
45
The storage API is supported in content scripts from version 48.
|
? |
Yes |
14 |
? |
? |
48 |
? |
? |
? |
Example extensions
Note: This API is based on Chromium's chrome.storage
API. This documentation is derived from storage.json
in the Chromium code.
Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/local