HTML5 웹 저장소
HTML5 웹 저장소는 쿠키보다 더 나은 로컬 저장 방법입니다.
HTML5 웹 스토리지란 무엇인가요?
HTML5를 사용하면 사용자의 인터넷 사용 기록을 로컬에 저장할 수 있습니다.
이전에는 로컬 저장소에서 쿠키를 사용했습니다. 하지만 웹 스토리지는 더욱 안전하고 빨라야 합니다. 데이터는 서버에 저장되지 않지만 사용자가 웹사이트 데이터를 요청할 때만 데이터가 사용됩니다. 또한 웹사이트 성능에 영향을 주지 않고 많은 양의 데이터를 저장할 수도 있습니다.
데이터는 키/값 쌍으로 존재하며, 웹페이지의 데이터는 해당 웹페이지에서만 접근하고 사용할 수 있습니다.
브라우저 지원
Internet Explorer 8+, Firefox, Opera, Chrome 및 Safari는 웹 저장소를 지원합니다.
참고: Internet Explorer 7 및 이전 IE 버전은 웹 저장소를 지원하지 않습니다.
localStorage 및 sessionStorage
두 가지 새로운 개체가 있습니다. 클라이언트에 데이터 저장용:
localStorage - 시간 제한 없는 데이터 저장
sessionStorage - 세션용 데이터 저장
웹 스토리지를 사용하기 전에 브라우저가 localStorage 및 sessionStorage를 지원하는지 확인해야 합니다.
{
// 네! localStorage 및 sessionStorage 지원!
// 일부 코드.....
}
else
{
// 죄송합니다. 웹이 없습니다. 스토리지 지원..
}
localStorage 개체
localStorage 개체에 의해 저장되는 데이터에는 시간 제한이 없습니다. 데이터는 다음 날, 다음 주 또는 연도 이후에도 계속 사용할 수 있습니다.
인스턴스
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <div id="result"></div> <script> if(typeof(Storage)!=="undefined") { localStorage.lastname="Smith"; document.getElementById("result").innerHTML="Last name: " + localStorage.lastname; } else { document.getElementById("result").innerHTML="Sorry, your browser does not support web storage..."; } </script> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
분석 예:
key="lastname" 및 value="Smith"를 사용하여 localStorage 키/값 쌍 생성
-
검색 키 값이 "lastname"인 값은 id="result"인 요소에 데이터를 삽입합니다.
팁: 키/값 쌍 일반적으로 문자열로 저장되므로 필요에 따라 이 형식을 변환할 수 있습니다.
다음 예시는 사용자가 버튼을 클릭한 횟수를 보여줍니다. 코드의 문자열 값을 숫자 유형으로 변환합니다:
Instance
<!DOCTYPE html> <html> <head> <script> function clickCounter() { if(typeof(Storage)!=="undefined") { if (localStorage.clickcount) { localStorage.clickcount=Number(localStorage.clickcount)+1; } else { localStorage.clickcount=1; } document.getElementById("result").innerHTML="You have clicked the button " + localStorage.clickcount + " time(s)."; } else { document.getElementById("result").innerHTML="Sorry, your browser does not support web storage..."; } } </script> </head> <body> <p><button onclick="clickCounter()" type="button">Click me!</button></p> <div id="result"></div> <p>Click the button to see the counter increase.</p> <p>Close the browser tab (or window), and try again, and the counter will continue to count (is not reset).</p> </body> </html>
인스턴스 실행»
"실행"을 클릭합니다. 인스턴스" " 버튼을 누르면 온라인 예시를 볼 수 있습니다.
sessionStorage 객체
sessionStorage 메서드는 세션에 대한 데이터를 저장합니다. 사용자가 브라우저 창을 닫으면 데이터가 삭제됩니다.
sessionStorage를 생성하고 액세스하는 방법: :
Instance
<!DOCTYPE html> <html> <head> <script> function clickCounter() { if(typeof(Storage)!=="undefined") { if (sessionStorage.clickcount) { sessionStorage.clickcount=Number(sessionStorage.clickcount)+1; } else { sessionStorage.clickcount=1; } document.getElementById("result").innerHTML="You have clicked the button " + sessionStorage.clickcount + " time(s) in this session."; } else { document.getElementById("result").innerHTML="Sorry, your browser does not support web storage..."; } } </script> </head> <body> <p><button onclick="clickCounter()" type="button">Click me!</button></p> <div id="result"></div> <p>Click the button to see the counter increase.</p> <p>Close the browser tab (or window), and try again, and the counter is reset.</p> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요