이번에는 H5의 LocalStorage가 어떻게 값을 로컬에 저장하는지 보여드리겠습니다. H5의 LocalStorage가 값을 로컬에 저장하는 경우 주의사항은 무엇인가요?
H5의 두 스토리지 기술의 가장 큰 차이점은 라이프 사이클입니다.
1. localStorage는 로컬 저장이며 저장 기간은 제한되지 않습니다.
2. sessionStorage 세션 저장은 페이지가 닫히면 손실됩니다.
사용법:
localStorage.setItem("key", "value")//Storage
localStorage.getItem(key)//키로 값 가져오기
localStorage.valueOf( )/ / 모든 값 가져오기
localStorage.removeItem("key")//단일 값 삭제, 따옴표에 주의하세요
localStorage.clear()//모든 데이터 삭제
localStorage.length//데이터 개수 가져오기
localStorage.key(N)//N번째 데이터의 키 값을 가져옵니다
참고: localStorage와 sessionStorage는 위와 동일하며, 사용 방법도 동일합니다.
자주 사용하는 요약:
localStorage .key = 1;//저장소 설정, 명명된 키, 값은 1
localStorage.removeItem("key");//저장소 키를 제거하고 키에 따옴표를 추가해야 합니다
다음은 실제 예입니다. 테스트용:
입력 텍스트 콘텐츠의 로컬 저장을 실현하여 브라우저를 닫았다가 다시 연 후에도 이전에 입력한 콘텐츠가 여전히 남아 있도록 합니다(일반적으로 모바일 DingTalk 로그의 탈퇴 요청과 같은 필드에서 볼 수 있음).
먼저 페이지에 를 만듭니다. 다음은 jQuery입니다.
if(!localStorage.getItem("text")) //window对象的话,前面的window省略了哦 localStorage.setItem("text",""); //这里先判断一下,做空白存储,否则返回 NULL 显示出来体验不好,这里的if大括号省去了 localStorage.text = localStorage.getItem("text"); //取值 $("textarea").html(localStorage.text); //显示 $("textarea").keyup(function(){ //这里有很多,比如blur, change, keydown, 还有做个定时器也行,实用于多字段存储 localStorage.setItem("text",$(this).val()); //重新存储 });
위에서는 H5 로컬 저장소가 여전히 매우 유용하다는 것을 보여줍니다. 물론, 필드가 많을 경우 JSON 메소드를 제공하여 사용할 수 있습니다! 인터넷에서 다운로드한 다음을 참조하세요.
<script type="text/javascript"> if(window.sessionStorage){ alert('ok'); }else{ alert('fail'); } // 设置值 sessionStorage.setItem('key_a', 1); // 取值 var key_a = sessionStorage.getItem('key_a'); console.log(key_a); // 删除 sessionStorage.removeItem('key_a'); console.log(sessionStorage.getItem('key_a'));// null sessionStorage.setItem('key_b', 1); sessionStorage.setItem('key_c', 2); // 清除所有键值 sessionStorage.clear(); console.log(sessionStorage.key_b); console.log(sessionStorage.key_c); console.log('=================='); // 设置值和取值也可以使用.符号,类似于取对象属性 // 设置值 sessionStorage.key_d = 12; // 取值 var key_d = sessionStorage.key_d; console.log(key_d); // 有个小区别,如果这个key没有了。一个返回值undefined,一个是null console.log(sessionStorage.key_null);// undefined console.log(sessionStorage.getItem('key_null'));// null console.log('==========简单演示一个存放对象的例子========'); var obj = { a : 12, b : [1,2,3,4,5], c : { x : 'a', y : ['bb', 12, 'cc', {a:1,b:2}], z : 1333 } }; sessionStorage.setItem('page', JSON.stringify(obj)); // 取值 var page = JSON.parse(sessionStorage.getItem('page')); console.log(page); // 遍历下数组 for(var i=0;i< page.b.length;i++){ console.log(page.b[i]); } // 遍历对象,通常用in for(var j in page.c){ console.log(page.c[j]) } // 删除key sessionStorage.removeItem('page'); </script>
예: 카운터, 페이지를 새로 고치면 효과를 볼 수 있습니다.
<p id="test"></p> <script> var storage = window.localStorage; if (!storage.getItem("pageLoadCount")) storage.setItem("pageLoadCount",0); storage.pageLoadCount = parseInt(storage.getItem("pageLoadCount")) + 1;//必须格式转换 document.getElementById("test").innerHTML = storage.pageLoadCount; //showStorage(); </script>
HTML5 로컬 저장소는 문자열만 저장할 수 있으며 자동으로 문자로 변환됩니다. 어떤 형식의 문자열로 저장되면 읽을 때 직접 유형 변환을 수행해야 합니다. 이것이 이전 코드에서 parsInt를 사용해야 하는 이유입니다.
이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천도서:
zepto를 사용하면 모바일에서도 원활한 위아래 스크롤이 가능합니다
위 내용은 H5의 LocalStorage가 새로 고침 값을 로컬에 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!