Storage

L'interface Storage de l'API Web Storage donne accès au stockage de session (SessionStorage) ou au stockage local (LocalStorage) pour un domaine donné, vous permettant par exemple d'ajouter, de modifier ou de supprimer des éléments enregistrés.

Si vous voulez manipuler le stockage de session pour un domaine, appelez la méthode Window.sessionStorage. Si vous voulez manipuler le stockage local pour un domaine, appelez la méthode Window.localStorage.

Propriétés

Storage.length Lecture seule
Renvoie un entier représentant le nombre d'éléments contenus dans l'objet Storage.

Méthodes

Storage.key()
Lorsqu'on lui passe un nombre n, cette méthode renvoie le nom de la n-ième clé dans le stockage.
Storage.getItem()
Lorqu'on lui passe le nom d'une clé, cette méthode renvoie la valeur de la clé correspondante.
Storage.setItem()
Lorqu'on lui passe un nom de clé et une valeur, cette méthode ajoute cette clé et cette valeur dans le stockage. Si la clé existe déjà, elle met à jour la valeur.
Storage.removeItem()
Lorqu'on lui passe le nom d'une clé, cette méthode supprime cette clé du stockage.
Storage.clear()
Lorsqu'elle est appelée, cette méthode supprime toutes les clés du stockage.

Exemples

Nous accédons ici à un objet Storage en appelant localStorage. Nous testons d'abord si le stockage local contient des éléments en utilisant !localStorage.getItem('bgcolor'). Si oui, nous exécutons une fonction appelée setStyles() qui récupère les éléments en utilisant Storage.getItem(), et utilise ces valeurs pour mettre à jour les styles de page. Sinon, nous exécutons une autre fonction appelée populateStorage(), qui utilise Storage.setItem() pour régler les valeurs des éléments, puis qui exécute setStyles().

if(!localStorage.getItem('bgcolor')) {
  populateStorage();
} else {
  setStyles();
}

function populateStorage() {
  localStorage.setItem('bgcolor', document.getElementById('bgcolor').value);
  localStorage.setItem('font', document.getElementById('font').value);
  localStorage.setItem('image', document.getElementById('image').value);

  setStyles();
}

function setStyles() {
  var currentColor = localStorage.getItem('bgcolor');
  var currentFont = localStorage.getItem('font');
  var currentImage = localStorage.getItem('image');

  document.getElementById('bgcolor').value = currentColor;
  document.getElementById('font').value = currentFont;
  document.getElementById('image').value = currentImage;

  htmlElem.style.backgroundColor = '#' + currentColor;
  pElem.style.fontFamily = currentFont;
  imgElem.setAttribute('src', currentImage);
}

Spécifications

Spécification État Commentaires
Web Storage (Second edition)
La définition de 'Storage' dans cette spécification.
Recommendation  

Compatibilité des navigateurs

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
localStorage 4 (Oui) 3.5 8 10.50 4
sessionStorage 5 ? 2 8 10.50 4
Fonctionnalité Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Support simple 2.1 (Oui) ? 8 11 3.2[1]

[1] Depuis iOS 5.1, Safari Mobile enregistre les données liées à localStorage dans le répertoire du cache qui peut être sujet au nettoyage du cache déclenché par le système d'exploitation (notamment lorsqu'on arrive à court d'espace mémoire).

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight, CaribouFute, EmilienD, gpenissard
 Dernière mise à jour par : SphinxKnight,