Traducción en curso

Permite que las extensiones almacenen y recuperen datos, y escuchen los cambios realizados  en los elementos almacenados.

El sistema de almacenamiento se basa en Web Storage API, con algunas diferencias. Entre otras diferencias, éstas incluyen:

  • Es asíncrono.
  • Los valores se aplican a la extensión, no a un dominio específico (es decir, el mismo conjunto de pares clave / valor está disponible para todos los scripts de tipo background y los scripts de contenido o content).
  • Los valores almacenados pueden ser cualquier valor JSON, no solo String. Entre otras cosas, esto incluye: Array y Object, pero solo cuando sus contenidos se pueden representar como JSON, que no incluye nodos DOM. No es necesario convertir sus valores en cadenas JSON antes de almacenarlos, pero se representan como JSON internamente, por lo tanto, el requisito de que sean responsables de JSON.
  • Se pueden establecer o recuperar múltiples pares de clave / valor en la misma llamada a la API.

Para usar esta API, debe incluir el permiso de "storage" en su archivo manifest.json.

Cada extensión tiene su propia área de almacenamiento, que se puede dividir en diferentes tipos de almacenamiento.

Aunque esta API es similar a Window.localStorage, se recomienda que no use Window.localStorage en el código de extensión para almacenar datos relacionados con la extensión. Firefox borrará los datos almacenados por las extensiones utilizando la API localStorage en varios escenarios donde los usuarios borran su historial de navegación y los datos por razones de privacidad, mientras que los datos guardados utilizando la API storage.local se conservarán correctamente en estos escenarios.

El área de almacenamiento no está encriptada y no debe utilizarse para almacenar información confidencial del usuario, como claves.

Tipos

storage.StorageArea
Un objeto que representa un área de almacenamiento.
storage.StorageChange
Un objeto que representa un cambio en un área de almacenamiento.

Propiedades

El almacenamiento tiene tres propiedades, que representan los diferentes tipos de área de almacenamiento disponible.

storage.sync
Representa el área de almacenamiento de sincronización. Los elementos en el almacenamiento de sincronización están sincronizados por el navegador y están disponibles en todas las instancias de ese navegador en el que el usuario ha iniciado sesión, en diferentes dispositivos.
storage.local
Representa el área de almacenamiento local. Los elementos en el almacenamiento local son locales a la máquina en la que se instaló la extensión.
storage.managed
Representa el área de almacenamiento gestionado. Los elementos en el almacenamiento gestionado los establece el administrador del dominio y son de sólo lectura para la extensión. Intentar modificar este espacio de nombres da como resultado un error.

Eventos

storage.onChanged
Se dispara cuando uno o más elementos cambian en un área de almacenamiento.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxOperaFirefox for Android
StorageAreaChrome Soporte completo SiEdge Soporte completo 14Firefox Soporte completo 45Opera Soporte completo SiFirefox Android Soporte completo 48
StorageChangeChrome Soporte completo SiEdge Soporte completo 14Firefox Soporte completo 45Opera Soporte completo SiFirefox Android Soporte completo 48
localChrome Soporte completo SiEdge Soporte completo 14Firefox Soporte completo 45
Notas
Soporte completo 45
Notas
Notas The storage API is supported in content scripts from version 48.
Opera Soporte completo SiFirefox Android Soporte completo 48
managedChrome Soporte completo SiEdge Sin soporte NoFirefox Soporte completo 57
Notas
Soporte completo 57
Notas
Notas Platform-specific storage backends, such as Windows registry keys, are not supported.
Notas Enforcement of extension-provided storage schemas is not supported.
Notas The onChanged event is not supported.
Opera Sin soporte NoFirefox Android Sin soporte No
onChangedChrome Soporte completo SiEdge Soporte completo 14Firefox Soporte completo 45Opera Soporte completo SiFirefox Android Soporte completo 48
syncChrome Soporte completo SiEdge Soporte completo 15Firefox Soporte completo 53Opera Sin soporte NoFirefox Android Sin soporte No

Leyenda

Soporte completo  
Soporte completo
Sin soporte  
Sin soporte
Ver notas de implementación.
Ver notas de implementación.

Example extensions

Agradecimientos

 

Esta API se basa en la API chrome.storage de Chromium. Esta documentación se deriva de storage.json en el código de Chromium.

Los datos de compatibilidad de Microsoft Edge son proporcionados por Microsoft Corporation y se incluyen aquí bajo la Licencia de Estados Unidos Creative Commons Attribution 3.0.

 

Etiquetas y colaboradores del documento

Colaboradores en esta página: wbamberg, grxdipgra
Última actualización por: wbamberg,