Maison >interface Web >js tutoriel >Comment définir l'expiration des données dans le stockage local HTML5 ?

Comment définir l'expiration des données dans le stockage local HTML5 ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-27 13:57:02370parcourir

 How to Set Expiration for Data in HTML5 Local Storage?

Expiration des données dans le stockage local HTML5

Lors de l'utilisation de localStorage pour stocker des données dans le stockage DOM de HTML5, une question se pose concernant son expiration. Existe-t-il un moyen de définir une période d'expiration pour les éléments enregistrés dans le stockage local ?

L'API de stockage local ne fournit pas de mécanisme explicite pour définir les délais d'expiration pour les éléments individuels. Les données restent stockées indéfiniment ou jusqu'à ce qu'elles soient supprimées ou écrasées manuellement.

Solution de contournement : suivi de l'expiration à l'aide d'un horodatage

Pour résoudre cette limitation, il est recommandé d'incorporer un horodatage directement dans l'objet que vous stockez dans le stockage local. Cela vous permet de surveiller l'âge des données et de prendre les mesures appropriées si nécessaire.

var object = {value: "value", timestamp: new Date().getTime()}
localStorage.setItem("key", JSON.stringify(object));

Récupération et comparaison des horodatages

var object = JSON.parse(localStorage.getItem("key")),
    dateString = object.timestamp,
    now = new Date().getTime().toString();

compareTime(dateString, now); //to implement

La fonction compareTime comparerait les horodatages stockés horodatage avec l'heure actuelle pour déterminer si les données ont expiré.

Solution alternative : localstorage-slim.js

Au lieu de gérer manuellement l'expiration, envisagez de tirer parti d'un bibliothèque wrapper légère comme localstorage-slim.js. Cette bibliothèque propose une API de stockage d'objets avec gestion automatique des expirations.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn