


Comment utiliser l'API de stockage Web HTML5 (LocalStorage, SessionStorage) pour les données persistantes?
Mar 18, 2025 pm 02:05 PMComment utiliser l'API de stockage Web HTML5 (LocalStorage, SessionStorage) pour les données persistantes?
L'API de stockage Web HTML5 fournit deux mécanismes pour stocker les données sur le c?té client: localStorage
et sessionStorage
. Les deux permettent aux applications Web de stocker les données de manière persistante dans le navigateur de l'utilisateur, mais elles diffèrent en termes de durée de vie et de portée.
Pour utiliser localStorage
et sessionStorage
, vous devez d'abord comprendre leurs méthodes de base. Les deux ont des API similaires:
-
setItem(key, value)
: stocke une paire de valeurs de clé dans le stockage. -
getItem(key)
: récupère la valeur associée à la clé donnée. -
removeItem(key)
: supprime la paire de valeurs de clé avec la touche donnée. -
clear()
: supprime toutes les paires de valeurs clés du stockage.
Voici comment utiliser ces méthodes:
Définition des données:
<code class="javascript">localStorage.setItem('username', 'JohnDoe'); sessionStorage.setItem('sessionId', '12345');</code>
Obtenir des données:
<code class="javascript">let username = localStorage.getItem('username'); let sessionId = sessionStorage.getItem('sessionId');</code>
Suppression des données:
<code class="javascript">localStorage.removeItem('username'); sessionStorage.removeItem('sessionId');</code>
Effacer toutes les données:
<code class="javascript">localStorage.clear(); sessionStorage.clear();</code>
La principale différence entre localStorage
et sessionStorage
est que localStorage
persiste les données entre les séances du navigateur (jusqu'à ce qu'elles soient effacées manuellement ou expirées en raison de limites de stockage), tandis que sessionStorage
conserve les données uniquement pour la durée de la session de page (les données sont perdues lorsque l'onglet est fermé).
Quelles sont les différences entre LocalStorage et SessionStorage en termes de persistance des données?
La principale différence entre localStorage
et sessionStorage
réside dans la durée et la portée de la persistance des données:
-
LocalStorage:
- Les données persistent entre les séances et les onglets du navigateur.
- Les données sont disponibles pour toutes les fenêtres et les onglets de la même origine.
- Les données restent stockées jusqu'à ce qu'elles soient explicitement supprimées à l'aide de
removeItem()
ouclear()
, ou jusqu'à ce que l'utilisateur efface ses données de navigateur.
-
SessionStorage:
- Les données sont stockées uniquement pour la durée de la session de page.
- Les données sont accessibles uniquement dans le même onglet ou la même fenêtre qui les a créés.
- Lorsque l'onglet ou la fenêtre est fermée, toutes les données stockées dans
sessionStorage
sont automatiquement effacées.
Ces différences rendent localStorage
idéal pour la persistance de données à long terme, telles que les préférences des utilisateurs ou les scores de jeu, tandis que sessionStorage
est plus adapté aux données temporaires qui devraient être rejetées à la fin d'une session, comme un panier avant le départ.
Comment puis-je garantir la sécurité des données lors de l'utilisation de LocalStorage et SessionStorage?
Bien que localStorage
et sessionStorage
soient pratiques pour le stockage c?té client, ils sont livrés avec des considérations de sécurité:
- Ne stockez pas de données sensibles : ne stockez jamais d'informations sensibles comme les mots de passe, les détails de la carte de crédit ou les numéros d'identification personnels dans
localStorage
ousessionStorage
. Ces mécanismes de stockage ne sont pas sécurisés et sont accessibles par des scripts malveillants. - Utilisez HTTPS : assurez-vous que votre site Web utilise HTTPS pour empêcher les données d'être interceptées sur les réseaux non garantis.
-
Encryption de données : si vous devez stocker des données moins sensibles mais toujours importantes, envisagez de les chiffrer avant de les stocker dans
localStorage
ousessionStorage
. Utilisez une bibliothèque de chiffrement c?té client pour crypter les données avant de les définir et de le déchiffrer après la récupération.<code class="javascript">// Example of encryption using a hypothetical library const encryptedData = encrypt('mySecretData', 'mySecretKey'); localStorage.setItem('encryptedData', encryptedData); // Later, to retrieve and decrypt const storedData = localStorage.getItem('encryptedData'); const decryptedData = decrypt(storedData, 'mySecretKey');</code>
- Utilisez la stratégie de sécurité du contenu (CSP) : implémentez une politique de sécurité de contenu pour atténuer les attaques de scripts croisés (XSS), qui pourraient autrement accéder à vos données de stockage.
- Effacer régulièrement des données inutilisées : examinez et effacez périodiquement toutes les données inutiles de
localStorage
etsessionStorage
pour minimiser le risque d'exposition.
Quelles sont les meilleures pratiques pour gérer et organiser des données stockées dans LocalStorage et SessionStorage?
Pour gérer et organiser efficacement les données dans localStorage
et sessionStorage
, suivez ces meilleures pratiques:
-
Utilisez des clés significatives : utilisez des clés claires et descriptives pour vos données afin de le rendre plus facile à comprendre et à maintenir. Par exemple, utilisez
userPreferences
au lieu dedata1
.<code class="javascript">localStorage.setItem('userPreferences', JSON.stringify({theme: 'dark', notifications: true}));</code>
-
Stockez les données structurées : utilisez JSON pour stocker des structures de données complexes. Cela facilite la gestion et la modification des données.
<code class="javascript">const settings = {theme: 'dark', notifications: true}; localStorage.setItem('settings', JSON.stringify(settings)); // To retrieve const storedSettings = JSON.parse(localStorage.getItem('settings'));</code>
- Définissez les limites de stockage : soyez conscient des limites de stockage (généralement environ 5 à 10 Mo par domaine) et gérez vos données en conséquence. Envisagez de supprimer les données plus anciennes lorsque la limite est atteinte.
-
Organisez des données en espaces de noms : utilisez un préfixe ou un espace de noms pour regrouper les données liées, ce qui aide à organiser et à éviter les collisions clés.
<code class="javascript">localStorage.setItem('app_settings.theme', 'dark'); localStorage.setItem('app_settings.notifications', 'true');</code>
-
Données de contr?le de version : ajoutez un numéro de version à votre structure de données pour gérer gracieusement les mises à jour.
<code class="javascript">const settings = {version: '1.0', theme: 'dark', notifications: true}; localStorage.setItem('settings', JSON.stringify(settings));</code>
- Audit et nettoyez régulièrement : examinez périodiquement les données stockées et supprimez celles qui ne sont plus nécessaires ou obsolètes.
- Testez soigneusement : assurez-vous que votre application gère la présence et l'absence de données gracieusement et testez comment votre application se comporte sur différents navigateurs et appareils.
En suivant ces directives, vous pouvez utiliser efficacement localStorage
et sessionStorage
pour améliorer vos applications Web tout en maintenant l'organisation et la sécurité des données.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La raison pour laquelle les étiquettes sémantiques ARIA et HTML5 sont nécessaires est que, bien que les éléments sémantiques HTML5 aient des significations d'accessibilité, ARIA peut compléter la sémantique et améliorer les capacités de reconnaissance des technologies auxiliaires. Par exemple, lorsque les navigateurs hérités manquent de support, les composants sans balises natifs (tels que les bo?tes modales) et les mises à jour d'état doivent être mises à jour dynamiquement, ARIA fournit un contr?le granulaire plus fin. Les éléments HTML5 tels que NAV, Main, mis à part correspondent à Ariarole par défaut, et n'ont pas besoin d'être ajoutés manuellement, sauf si le comportement par défaut doit être remplacé. Les situations où ARIA doit être ajoutée comprennent: 1. Compléter les informations d'état manquantes, telles que l'utilisation de l'ARIA expansée pour représenter le statut d'expansion / effondrement du bouton; 2. Ajouter des r?les sémantiques aux balises non sémantiques, comme utiliser le r?le div pour implémenter des onglets et les faire correspondre

HTML5, CSS et JavaScript doivent être combinés efficacement avec des balises sémantiques, un ordre de chargement raisonnable et une conception de découplage. 1. Utilisez des étiquettes sémantiques HTML5, telles que l'amélioration de la clarté structurelle et de la maintenabilité, qui est propice au référencement et à l'accès sans barrière; 2. CSS doit être placé, utiliser des fichiers externes et se séparer par module pour éviter les styles en ligne et les problèmes de chargement retardés; 3. JavaScript est recommandé d'être introduit à l'avant et d'utiliser un repère ou une asynchronisation pour charger de manière asynchrone pour éviter le blocage du rendu; 4. Réduisez une forte dépendance entre les trois, conduisez le comportement à travers les attributs de données * et l'état de contr?le du nom de classe et améliorez l'efficacité de la collaboration grace à des spécifications de nommage unifiées. Ces méthodes peuvent optimiser efficacement les performances des pages et collaborer avec les équipes.

Les raisons courantes pour lesquelles les vidéos HTML5 ne jouent pas dans Chrome incluent la compatibilité du format, la politique de jeu automatique, les erreurs de type de chemin ou de MIME et les interférences d'extension du navigateur. 1. Les vidéos doivent être prioritaires à l'utilisation du format MP4 (H.264), ou fournir plusieurs balises pour s'adapter à différents navigateurs; 2. La lecture automatique nécessite d'ajouter des attributs en sourdine ou de déclencher .play () avec JavaScript après l'interaction utilisateur; 3. Vérifiez si le chemin du fichier est correct et assurez-vous que le serveur est configuré avec le type de mime correct. Les tests locaux sont recommandés pour utiliser un serveur de développement; 4. Le plug-in de blocage des annonces ou le mode de confidentialité peut empêcher le chargement, vous pouvez donc essayer de désactiver le plug-in, remplacer la fenêtre sans trace ou mettre à jour la version du navigateur pour résoudre le problème.

ENCHED des vidéos Web à l'aide de balises HTML5, prend en charge la compatibilité multi-format, les contr?les personnalisés et la conception réactive. 1. Utilisation de base: ajoutez des balises et définissez SRC et contr?le les attributs pour réaliser les fonctions de lecture; 2. Prise en charge des multi-formes: introduire différents formats tels que MP4, WebM, OGG, etc. via les balises pour améliorer la compatibilité du navigateur; 3. Apparence et comportement personnalisés: masquez les contr?les par défaut et implémentez l'ajustement du style et la logique interactive via CSS et JavaScript; 4. Faites attention aux détails: définissez-vous en désaccord et en lecture automatique pour réaliser la lecture automatique, utilisez la précharge pour contr?ler les stratégies de chargement, combiner la largeur et la largeur maximale pour obtenir une disposition réactive et utiliser des sous-titres pour améliorer l'accessibilité.

L'utilisation de balises sémantiques HTML5 peut améliorer la clarté de la structure Web, l'accessibilité et les effets SEO. 1. Tags sémantiques tels que ,,,, et faciliter la compréhension du contenu de la page; 2. Chaque balise a un objectif clair: utilisé dans la zone supérieure, envelopper des liens de navigation, inclure le contenu de base, afficher des articles indépendants, un contenu pertinent de groupe, placer les barres latérales et afficher des informations de fond; 3. évitez les abus lorsque vous l'utilisez, assurez-vous qu'un seul par page, évitez la nidification excessive, l'utilisation raisonnable et dans les blocs. La ma?trise de ces points clés peut rendre la structure de la page Web plus standardisée et pratique.

Il s'agit d'un élément au niveau du bloc, adapté à la mise en page; Il s'agit d'un élément en ligne, adapté à l'emballage du contenu texte. 1. Occuper exclusivement une ligne, une largeur, une hauteur et des marges peuvent être définies, qui sont souvent utilisées dans la disposition structurelle; 2. Aucune ligne ne se casse, la taille est déterminée par le contenu et convient aux styles de texte locaux ou aux opérations dynamiques; 3. Lors du choix, il doit être jugé en fonction de la question de savoir si le contenu a besoin d'espace indépendant; 4. Il ne peut pas être imbriqué et ne convient pas à la mise en page; 5. La priorité est donnée à l'utilisation des étiquettes sémantiques pour améliorer la clarté structurelle et l'accessibilité.

Pour obtenir des informations de localisation de l'utilisateur, vous devez d'abord obtenir l'autorisation. Lorsque vous utilisez GeolocationAPI de HTML5, la première étape consiste à demander l'autorisation de l'utilisateur. Si l'utilisateur refuse ou ne répond pas, une erreur doit être gérée et une invite doit être donnée; Après une autorisation réussie, l'objet de position comprend des coordonnées (latitude, longitude, etc.) et horodatage; Vous pouvez utiliser WatchPosition pour surveiller les modifications de localisation, mais vous devez faire attention aux problèmes de performances et effacer l'auditeur à temps. 1. L'autorisation nécessite que l'utilisateur lui permette explicitement de déclencher la demande de méthode GetCurrentPosition; 2. Processus error.code lorsqu'il est rejeté ou erroné et invite l'utilisateur; 3. Après le succès, Position.Coords fournit des données de localisation; 4.WATC

Oui, vous pouvez enregistrer son contenu en tant qu'image à l'aide de la méthode Todataurl () intégrée HTML5CANVAS. Tout d'abord, l'appel canvas.todataurl ('image / png') pour convertir le contenu Canvas en une cha?ne Base64 au format PNG; Si le format jpeg ou webp est requis, le type correspondant et les paramètres de qualité tels que canvas.todataurl ('image / jpeg', 0.8) peuvent être passés. Ensuite, vous pouvez télécharger en créant un lien dynamique et en déclenchant un événement de clic: 1. Créer un élément a; 2. Définissez l'attribut de téléchargement et HREF en tant que données d'image; 3. Appelez la méthode click (). Notez que cette opération doit être déclenchée par l'interaction utilisateur.
