storage.local
Represents the local
storage area. Items in local
storage are local to the machine the extension is installed on.
The browser may restrict the amount of data that an extension can store in the local storage area. For example:
- In Chrome, an extension is limited to storing 5MB of data using this API unless it has the
"unlimitedStorage"
permission. - In Firefox, the amount of data an extension can store is subjected to the same storage limits as applied to IndexedDB databases. Extensions that intend to store more data than this limit need the "unlimitedStorage" permission. However, extensions with the "unlimitedStorage" permission may get a quota exceeded error when the disk space used by storage exceeds the global limit.
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 these 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 clears data stored by extensions using the localStorage API in various scenarios where users clear their browsing history and data for privacy reasons. Data saved using the storage.local
API is correctly persisted in these scenarios.
Methods
The local
object implements the methods defined on the storage.StorageArea
type:
storage.local.get()
-
Retrieves one or more items from the storage area.
storage.local.getBytesInUse()
-
Gets the amount of storage space (in bytes) used for one or more items in the storage area.
storage.local.set()
-
Stores one or more items in the storage area. If the item exists, its value is updated.
storage.local.remove()
-
Removes one or more items from the storage area.
storage.local.clear()
-
Removes all items from the storage area.
Events
The local
object implements the events defined on the storage.StorageArea
type:
storage.local.onChanged
-
Fires when one or more items in the storage area change.
Example extensions
Browser compatibility
BCD tables only load in the browser
Note: This API is based on Chromium's chrome.storage
API. This documentation is derived from storage.json
in the Chromium code.