> 웹 프론트엔드 > H5 튜토리얼 > HTML5 로컬 저장소 localStorage, sessionStorage 기본 사용법, 순회 작업, 예외 처리 등_html5 튜토리얼 기술

HTML5 로컬 저장소 localStorage, sessionStorage 기본 사용법, 순회 작업, 예외 처리 등_html5 튜토리얼 기술

WBOY
풀어 주다: 2016-05-16 15:47:58
원래의
2009명이 탐색했습니다.

HTML5의 로컬 저장소 API에서 localStorage와 sessionStorage의 사용 방법은 동일합니다. 차이점은 sessionStorage는 페이지를 닫은 후 지워지는 반면 localStorage는 항상 저장된다는 것입니다. 여기서는 localStorage를 예로 들어 HTML5의 로컬 저장소를 간략하게 소개하고 순회와 같은 일반적인 문제에 대한 몇 가지 예를 제공합니다. localStorage는 키-값 쌍을 사용하여 데이터에 액세스하는 HTML5 로컬 스토리지 API입니다. 브라우저마다 사용 방법, 최대 저장 공간 등과 같이 이 API에 대한 지원이 다릅니다.

1. localStorage API 기본 사용법

localStorage API의 사용법은 간단하고 이해하기 쉽습니다. 다음은 일반적인 API 작업 및 예입니다. 데이터 설정: localStorage.setItem(key,value) 예:

코드 복사
코드는 다음과 같습니다.

for(var i=0; i<10; i){
localStorage .setItem(i,i) ;
}

데이터 가져오기: localStorage.getItem(key) 모든 데이터 가져오기: localStorage.valueOf() 예:

코드 복사
코드는 다음과 같습니다.
for(var i=0; i<10; i){
localStorage.getItem( i);
}

데이터 삭제: localStorage.removeItem(key) 예:

코드 복사
코드는 다음과 같습니다.
for(var i=0; i<5; i ){
localStorage.removeItem(i);
}

지우기 모든 데이터: localStorage.clear() 로컬 저장소 데이터 수를 가져옵니다. :localStorage.length N번째 데이터의 키 값을 가져옵니다: localStorage.key(N)

2. 트래버스 키 키 값 방식


코드 복사
코드

for(var i=localStorage.length - 1; i >=0; i--){
console.log('(i 1) '번째 데이터 키 값은 ' localStorage.key(i) ', 데이터는 ' localStorage.getItem(localStorage.key(i)));
}


3. 저장소 크기 제한 테스트 및 예외 처리

3.1 데이터 저장 용량 제한 테스트

기본적으로 브라우저마다 HTML5의 로컬 저장 크기에 제한이 있습니다. 테스트 결과는 다음과 같습니다.

코드 복사
코드는 다음과 같습니다.
IE 9 > 4999995 5 = 5000000
firefox 22.0 > 5242875 5 = 5242880
chrome 28.0 >
사파리 5.1 > 2621435 5 = 2621440
opera 12.15 > 5M (초과할 경우 추가 공간을 요청하는 대화 상자가 나타납니다)


테스트 코드 참고:


코드 복사코드는 다음과 같습니다.



<script><br /> 함수 로그( msg ) {<br /> console.log(msg);<br /> 경고(msg);<br /> }&lt ;/p> <p> varlimit;<br /> var half = '1'; //중국어로 변경하여 다시 실행합니다<br /> var str = half;<br /> var sstr;<br /> while ( 1 ) { <br /> 시도 {<br /> localStorage.clear();<br /> str = half;<br /> localStorage.setItem( 'cache', str );<br /> half = str;<br /> } catch( ex ) { <br /> break;<br /> }<br /> }<br /> var base = str.length;<br /> var off = base / 2;<br /> var isLeft = 1;<br /> while( off ) { <br /> if ( isLeft ) {<br /> end = base - (off / 2);<br /> } else {<br /> end = base (off / 2);<br /> }</p> <p> sstr = str.slice( 0, end );<br /> localStorage.clear();<br /> try {<br /> localStorage.setItem( 'cache', sstr );<br /> 제한 = sstr. length;<br /> isLeft = 0;<br /> } catch ( e ) {<br /> isLeft = 1;<br /> }</p> <p> 기본 = 끝;<br /> off = Math.floor( off / 2 );<br /> }</p> <p> 로그( '한계: ' 한계 );<br /></script>



3.2 데이터 저장 예외 처리


코드 복사
코드는 다음과 같습니다.

시도{
localStorage .setItem( 키, 값);
}catch(oException){
if(oException.name == 'QuotaExceededError'){
console.log('로컬 저장소 한도를 초과했습니다!');
// 과거 정보가 더 이상 중요하지 않다면 삭제한 후 다시 설정할 수 있습니다.
localStorage.clear();
localStorage.setItem(key, value);
}
}
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿