HTML5 웹 저장소
HTML5 웹 저장소는 쿠키보다 더 나은 로컬 저장 방법입니다.
HTML5 웹 스토리지란 무엇인가요?
HTML5를 사용하면 사용자의 검색 데이터를 로컬에 저장할 수 있습니다.
이전에는 로컬 저장소에서 쿠키를 사용했습니다. 하지만 웹 스토리지는 더욱 안전하고 빨라야 합니다. 데이터는 서버에 저장되지 않지만 사용자가 웹사이트 데이터를 요청할 때만 데이터가 사용됩니다. 또한 웹사이트 성능에 영향을 주지 않고 많은 양의 데이터를 저장할 수도 있습니다.
데이터는 키/값 쌍으로 존재하며, 웹페이지의 데이터는 해당 웹페이지에서만 접근하고 사용할 수 있습니다.
localStorage 및 sessionStorage
클라이언트에 데이터를 저장하기 위한 두 가지 새로운 개체가 있습니다.
localStorage - 시간 제한 없는 데이터 저장
sessionStorage - 데이터용 세션 저장
웹 저장소를 사용하기 전에 브라우저가 localStorage 및 sessionStorage를 지원하는지 확인해야 합니다:
if(typeof(Storage)!=="undefined") { // Yes! localStorage and sessionStorage support! // Some code..... } else { // Sorry! No web storage support.. }
localStorage 객체
저장되는 데이터에는 시간 제한이 없습니다. localStorage 객체에 의해. 데이터는 다음 날, 다음 주 또는 연도 이후에도 계속 사용할 수 있습니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </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"
인 요소에 데이터를 삽입합니다. 팁: 키/값 쌍은 일반적으로 문자열로 저장되며 필요에 따라 이 형식을 변환할 수 있습니다.
다음 예에서는 사용자가 버튼을 클릭한 횟수를 보여줍니다. 코드의 문자열 값이 숫자 유형으로 변환됩니다.
<!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">点我</button></p> <div id="result"></div> <p>单击该按钮查看计数器增加.</p> <p>关闭浏览器选项卡(或窗口),再试一次,计数器将继续计数(不是重置)。</p> </body> </html>
sessionStorage 개체
sessionStorage 메서드는 세션 저장을 위한 데이터를 수집합니다. 사용자가 브라우저 창을 닫으면 데이터가 삭제됩니다.
sessionStorage를 만들고 액세스하는 방법: :
<!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>单击该按钮查看计数器增加.</p> <p>关闭浏览器选项卡(或窗口),再试一次,计数器将继续计数(不是重置)。</p> </body> </html>