Maison > interface Web > js tutoriel > js solution de stockage local : localStorage et userData

js solution de stockage local : localStorage et userData

黄舟
Libérer: 2017-02-25 13:36:11
original
923 Les gens l'ont consulté

Avec le développement rapide des applications WEB, le stockage local de certaines données est devenu une exigence importante, et il existe de nombreuses solutions de mise en œuvre. La plus courante est les cookies, qui sont souvent utilisés par tout le monde, mais les défauts des cookies sont évidents. D'autres solutions incluent userData pour IE6 et versions ultérieures, globalStorage pour Firefox et le stockage local Flash. À l'exception de Flash, les autres ont des problèmes de compatibilité.

sessionStorage et localStorage

Le stockage Web se compose en fait de deux parties : sessionStorage et localStorage.

sessionStorage est utilisé pour stocker localement les données dans une session. Ces données ne sont accessibles que par les pages de la même session et les données seront détruites à la fin de la session. Par conséquent, sessionStorage n'est pas un stockage local persistant, mais uniquement un stockage au niveau de la session.

localStorage est utilisé pour le stockage local persistant, à moins que les données ne soient activement supprimées, les données n'expireront jamais.

userData

Syntaxe :

XML  <Prefix: CustomTag ID=sID STYLE="behavior:url(&#39;#default#userData&#39;)" />

HTML  <ELEMENT STYLE="behavior:url(&#39;#default#userData&#39;)" ID=sID>

Scripting    object .style.behavior = "url(&#39;#default#userData&#39;)"

object.addBehavior ("#default#userData")
Copier après la connexion

Attributs :

  • expires Définir ou obtenir la date d'expiration du comportement userData des données enregistrées.

  • XMLDocument Obtient une référence à XML.

Méthode :

  • getAttribute() Obtient la valeur d'attribut spécifiée.

  • load(object) charge les données d'objet stockées à partir de la zone de stockage userData.

  • removeAttribute() Supprime l'attribut spécifié de l'objet.

  • save(object) Stocke les données d'objet dans une zone de stockage userData.

  • setAttribute() définit la valeur de l'attribut spécifié.

localStorage

Méthode :

  • localStorage.getItem(key) : récupère la valeur du stockage local du spécifié key

  • localStorage.setItem(key, value) : Stocke la valeur dans le champ clé

  • localStorage.removeItem(key) : Supprime le valeur stockée localement pour la clé spécifiée

Encapsulation

localData = {
    hname:location.hostname?location.hostname:&#39;localStatus&#39;,
    isLocalStorage:window.localStorage?true:false,
    dataDom:null,

    initDom:function(){ //初始化userData
        if(!this.dataDom){
            try{
                this.dataDom = document.createElement(&#39;input&#39;);//这里使用hidden的input元素
                this.dataDom.type = &#39;hidden&#39;;
                this.dataDom.style.display = "none";
                this.dataDom.addBehavior(&#39;#default#userData&#39;);//这是userData的语法
                document.body.appendChild(this.dataDom);
                var exDate = new Date();
                exDate = exDate.getDate()+30;
                this.dataDom.expires = exDate.toUTCString();//设定过期时间
            }catch(ex){
                return false;
            }
        }
        return true;
    },
    set:function(key,value){
        if(this.isLocalStorage){
            window.localStorage.setItem(key,value);
        }else{
            if(this.initDom()){
                this.dataDom.load(this.hname);
                this.dataDom.setAttribute(key,value);
                this.dataDom.save(this.hname)
            }
        }
    },
    get:function(key){
        if(this.isLocalStorage){
            return window.localStorage.getItem(key);
        }else{
            if(this.initDom()){
                this.dataDom.load(this.hname);
                return this.dataDom.getAttribute(key);
            }
        }
    },
    remove:function(key){
        if(this.isLocalStorage){
            localStorage.removeItem(key);
        }else{
            if(this.initDom()){
                this.dataDom.load(this.hname);
                this.dataDom.removeAttribute(key);
                this.dataDom.save(this.hname)
            }
        }
    }
}
Copier après la connexion

Ce qui précède est le contenu de la solution de stockage local js : localStorage et userData Pour plus de contenu connexe, veuillez. faites attention au site Web PHP chinois (www.php. cn) !



Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal