L'API de stockage Web HTML5 fournit deux mécanismes pour stocker des paires de données de valeur clé dans le navigateur Web d'un utilisateur: localStorage
et sessionStorage
. Les deux offrent un moyen simple de persister des données sur le côté client, éliminant la nécessité de fréquentes aller-retour du serveur pour récupérer ou mettre à jour de petites quantités d'informations. Cela améliore considérablement les performances des applications et l'expérience utilisateur, en particulier pour les tâches telles que la mémorisation des préférences des utilisateurs, la maintenance des paniers d'achat ou le stockage de l'état d'application temporaire.
Pour utiliser l'API, vous y accédez via l'objet window
du navigateur. localStorage
persiste indéfiniment les données, même après la fermeture et la rativité du navigateur. Les données sessionStorage
, cependant, ne sont disponibles que pour la durée d'une seule session de navigateur. La fermeture de la fenêtre ou de l'onglet du navigateur efface les données sessionStorage
.
Voici un exemple de base de la définition et de la récupération des données à l'aide de localStorage
:
<code class="javascript">// Store data localStorage.setItem('username', 'JohnDoe'); // Retrieve data let username = localStorage.getItem('username'); console.log(username); // Output: JohnDoe // Remove data localStorage.removeItem('username'); // Clear all data localStorage.clear();</code>
Les mêmes méthodes ( setItem
, getItem
, removeItem
, clear
) s'appliquent également à sessionStorage
. Le choix entre localStorage
et sessionStorage
dépend des besoins spécifiques de votre application.
La principale différence entre localStorage
et sessionStorage
réside dans leur persistance:
localStorage.removeItem()
ou localStorage.clear()
.sessionStorage
. Ceci convient aux données temporaires qui ne sont pertinentes que dans une seule session, telles que les articles dans un panier ou un état d'application temporaire. Une autre différence subtile est que sessionStorage
n'est pas partagé sur différents onglets de navigateur ou fenêtres provenant de la même origine. Si vous ouvrez plusieurs onglets pour le même site Web, chaque onglet aura son propre sessionStorage
indépendant. localStorage
, en revanche, est partagé sur tous les onglets et fenêtres à partir de la même origine.
Bien que pratique, l'utilisation du stockage Web HTML5 présente des problèmes potentiels de sécurité et de confidentialité:
localStorage
et sessionStorage
.localStorage
et sessionStorage
sont accessibles uniquement au site Web qui les stockait, mais les informations sensibles ne doivent jamais être stockées directement. Envisagez d'utiliser des techniques de chiffrement ou de hachage pour les données sensibles avant de les stocker.Pour atténuer ces risques:
La récupération des données est simple à l'aide de getItem()
. La manipulation des données nécessite de la récupérer, de les modifier, puis de les stocker à l'aide de setItem()
.
<code class="javascript">// Retrieve data let storedData = localStorage.getItem('myData'); // Parse JSON data (if stored as JSON) let myObject = JSON.parse(storedData); // Modify the data myObject.name = "Updated Name"; // Stringify the object back to JSON let updatedData = JSON.stringify(myObject); // Store the updated data localStorage.setItem('myData', updatedData);</code>
Cet exemple montre la récupération des données stockées comme un objet JSON, les modifier, puis le retrait de l'objet mis à jour dans localStorage
. N'oubliez pas d'utiliser toujours JSON.stringify()
avant de stocker des objets ou des tableaux et JSON.parse()
lors de la récupération. Pour les chaînes ou les nombres simples, l'utilisation directe de getItem()
et setItem()
suffit. Vous pouvez également itérer via localStorage
à l'aide d'une boucle for
la boucle et de sa longueur pour accéder à toutes les paires de valeurs clés stockées. Les mêmes principes s'appliquent à sessionStorage
.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!