웹 애플리케이션의 급속한 발전으로 인해 일부 데이터의 로컬 저장이 중요한 요구 사항이 되었으며, 가장 일반적인 솔루션은 모든 사람이 자주 사용하는 쿠키이지만 쿠키의 단점은 분명합니다. 다른 솔루션에는 IE6 이상용 userData, Firefox용 globalStorage 및 Flash 로컬 저장소가 포함됩니다.
웹 저장소는 실제로 sessionStorage와 localStorage의 두 부분으로 구성됩니다.
sessionStorage는 세션에 데이터를 로컬로 저장하는 데 사용됩니다. 이러한 데이터는 동일한 세션의 페이지에서만 액세스할 수 있으며 세션이 끝나면 데이터가 삭제됩니다. 따라서 sessionStorage는 영구 로컬 저장소가 아니며 세션 수준 저장소일 뿐입니다.
localStorage는 영구 로컬 저장소로 사용됩니다. 데이터가 적극적으로 삭제되지 않는 한 데이터는 만료되지 않습니다.
구문:
XML <Prefix: CustomTag ID=sID STYLE="behavior:url('#default#userData')" /> HTML <ELEMENT STYLE="behavior:url('#default#userData')" ID=sID> Scripting object .style.behavior = "url('#default#userData')" object.addBehavior ("#default#userData")
속성:
expires 저장된 데이터의 userData 동작 만료 날짜를 설정하거나 가져옵니다.
XMLDocument XML에 대한 참조를 가져옵니다.
메서드:
getAttribute() 지정된 속성 값을 가져옵니다.
load(object)는 userData 저장 영역에서 저장된 객체 데이터를 로드합니다.
removeAttribute() 객체의 지정된 속성을 제거합니다.
save(object) userData 저장 영역에 객체 데이터를 저장합니다.
setAttribute()는 지정된 속성 값을 설정합니다.
메서드:
localStorage.getItem(key): 지정된 로컬 저장소의 값을 가져옵니다. key
localStorage.setItem(key, value): 키 필드에 값을 저장합니다.
localStorage.removeItem(key): 삭제합니다. 지정된 키에 대해 로컬에 저장된 값
localData = { hname:location.hostname?location.hostname:'localStatus', isLocalStorage:window.localStorage?true:false, dataDom:null, initDom:function(){ //初始化userData if(!this.dataDom){ try{ this.dataDom = document.createElement('input');//这里使用hidden的input元素 this.dataDom.type = 'hidden'; this.dataDom.style.display = "none"; this.dataDom.addBehavior('#default#userData');//这是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) } } } }
위는 js 로컬 저장소 솔루션인 localStorage 및 userData의 내용입니다. PHP 중국어 홈페이지(www.php.cn)로 !