HTML5 introduit deux mécanismes pour le stockage des données côté client: localStorage
et sessionStorage
. Les deux permettent aux applications Web de stocker des données au sein du navigateur d'un utilisateur, mais elles diffèrent par portée et persistance. Voici comment vous pouvez les utiliser:
Vérification du soutien:
Avant d'utiliser localStorage
ou sessionStorage
, vérifiez si le navigateur les prend en charge:
<code class="javascript">if (typeof(Storage) !== "undefined") { // Code for localStorage/sessionStorage } else { // No web storage support }</code>
Stockage des données:
localStorage
et sessionStorage
utilisent les mêmes méthodes pour stocker les données. Vous pouvez stocker des paires de valeurs clés où la clé et la valeur sont des chaînes:
<code class="javascript">localStorage.setItem("key", "value"); sessionStorage.setItem("key", "value");</code>
Vous pouvez également utiliser la syntax localStorage.key = "value"
ou sessionStorage.key = "value"
, mais setItem
est préféré pour la cohérence et pour éviter les méthodes ou les propriétés d'écrasement.
Récupération des données:
Pour récupérer les données, utilisez getItem
:
<code class="javascript">var data = localStorage.getItem("key"); var data = sessionStorage.getItem("key");</code>
Si la clé n'existe pas, getItem
renvoie null
.
Suppression des données:
Pour supprimer un élément spécifique:
<code class="javascript">localStorage.removeItem("key"); sessionStorage.removeItem("key");</code>
Pour effacer toutes les données:
<code class="javascript">localStorage.clear(); sessionStorage.clear();</code>
Stockage des objets:
Depuis les chaînes de magasin localStorage
et sessionStorage
, les objets doivent être sérialisés. Utilisez JSON.stringify
pour convertir des objets en chaînes avant de stocker et JSON.parse
pour les convertir:
<code class="javascript">var obj = {name: "John", age: 30}; localStorage.setItem("user", JSON.stringify(obj)); var retrievedObj = JSON.parse(localStorage.getItem("user"));</code>
localStorage
et sessionStorage
ont plusieurs différences clés:
Portée:
localStorage
sont disponibles pour toutes les fenêtres ou les onglets à partir de la même origine (domaine, protocole et port).sessionStorage
sont limitées à la fenêtre / onglet qui les a créées. Si la fenêtre / l'onglet est fermée, les données sont perdues.Persistance:
localStorage
Les données persistent même après la fermeture du navigateur et rouvert.sessionStorage
sont effacées lorsque la fenêtre / l'onglet est fermée.Usage:
localStorage
pour les données qui devraient être disponibles sur plusieurs sessions (par exemple, les préférences des utilisateurs, les données mises en cache).sessionStorage
pour les données pertinentes uniquement pendant une seule session (par exemple, les données de formulaire temporaire).Bien que le stockage Web HTML5 soit pratique, il a des limitations de sécurité que vous devez considérer:
Sensibilité aux données:
Contrôle d'accès:
Intégrité des données:
Contexte sécurisé:
Limitation d'exposition aux données:
Une gestion efficace de localStorage
et sessionStorage
consiste à organiser efficacement les données et à maintenir les performances:
Espsion de noms:
myApp.userSettings
au lieu des userSettings
.Données structurées:
Stockez les données dans un format structuré comme JSON. Cela facilite la gestion et la récupération des structures de données complexes:
<code class="javascript">var settings = { theme: "dark", notifications: true }; localStorage.setItem("myApp.settings", JSON.stringify(settings));</code>
Indexage:
Pour les grands ensembles de données, envisagez d'implémenter un index ou un système de métadonnées pour localiser et récupérer rapidement les données:
<code class="javascript">var index = { user1: "myApp.user1.data", user2: "myApp.user2.data" }; localStorage.setItem("myApp.userIndex", JSON.stringify(index));</code>
Versioning de données:
Implémentez le versioning pour les structures de données pour gérer les mises à jour et assurer la compatibilité:
<code class="javascript">var data = { version: "1.0", userData: { ... } }; localStorage.setItem("myApp.userData", JSON.stringify(data));</code>
Performance:
localStorage.length
pour vérifier le nombre d'éléments stockés et gérer les données en conséquence.Nettoyage régulier:
Examiner et nettoyer périodiquement les données obsolètes pour éviter l'utilisation de stockage inutile:
<code class="javascript">for (var i = 0; i </code>
En suivant ces pratiques, vous pouvez gérer et organiser efficacement les données stockées dans localStorage
et sessionStorage
, en garantissant un stockage efficace et sécurisé de données côté client.
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!