HTML5 웹 스토리지란 무엇인가요?
HTML5를 사용하여 사용자 검색 데이터를 로컬에 저장하는 것은 쿠키보다 더 나은 로컬 저장 방법입니다.
이전에는 로컬 저장소에서 쿠키를 사용했습니다. 하지만 웹 스토리지는 더욱 안전하고 빨라야 합니다. 데이터는 서버에 저장되지 않지만 사용자가 웹사이트 데이터를 요청할 때만 데이터가 사용됩니다. 또한 웹사이트 성능에 영향을 주지 않고 많은 양의 데이터를 저장할 수도 있습니다.
데이터는 키/값 쌍으로 존재하며, 웹페이지의 데이터는 해당 웹페이지에서만 접근하고 사용할 수 있습니다.
브라우저 지원
Internet Explorer 8+, Firefox, Opera, Chrome 및 Safari는 웹 저장소를 지원합니다.
참고: Internet Explorer 7 이하 IE 버전은 웹 저장소를 지원하지 않습니다.
localStorage 및 sessionStorage
클라이언트 측에 데이터를 저장하기 위한 두 가지 새로운 객체가 있습니다:
localStorage - 시간 제한 없는 데이터 저장
sessionStorage - 세션에 대한 데이터 저장
웹 저장소를 사용하기 전에 브라우저가 지원하는지 확인해야 합니다. localStorage 및 sessionStorage:
if(typeof(Storage)!=="undefine")
{
// sessionStorage localStorage 지원!
// 관련 코드....
}
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="刘奇"; document.getElementById("result").innerHTML="姓名: " + localStorage.lastname; } else { document.getElementById("result").innerHTML="对不起,您的浏览器不支持web存储……"; } </script> </body> </html>
프로그램을 실행하고 사용해 보세요
인스턴스 분석:
key="lastname" 및 value=를 사용하여 localStorage 키/값을 생성합니다. "Smith"
의 경우 키가 "lastname"인 값을 검색하고 id="result"인 요소에 데이터를 삽입합니다.
팁: 키/값 쌍은 다음과 같습니다. 일반적으로 문자열 저장소이므로 필요에 따라 형식을 변환할 수 있습니다.
다음 예는 사용자가 버튼을 클릭한 횟수를 보여줍니다. 코드의 문자열 값이 숫자 유형으로 변환됩니다.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文网(php.cn)</title> <script> function clickCounter() { if(typeof(Storage)!=="undefined") { if (localStorage.clickcount) { localStorage.clickcount=Number(localStorage.clickcount)+1; } else { localStorage.clickcount=1; } document.getElementById("result").innerHTML="点击按钮" + localStorage.clickcount + " time(s)."; } else { document.getElementById("result").innerHTML="对不起,您的浏览器不支持web存储……"; } } </script> </head> <body> <p><button onclick="clickCounter()" type="button">点击</button></p> <div id="result"></div> <p>单击该按钮查看计数器增加。</p> <p>关闭浏览器选项卡(或窗口),再试一次,计数器将继续计数(不是重置)。</p> </body> </html>
프로그램을 실행하고 사용해 보세요
sessionStorage 개체
sessionStorage 메서드 세션에 대한 데이터를 저장합니다. 사용자가 브라우저 창을 닫으면 데이터가 삭제됩니다.
세션 저장소 생성 및 액세스 방법: :
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文网(php.cn)</title> <script> function clickCounter() { if(typeof(Storage)!=="undefined") { if (sessionStorage.clickcount) { sessionStorage.clickcount=Number(sessionStorage.clickcount)+1; } else { sessionStorage.clickcount=1; } document.getElementById("result").innerHTML="点击按钮 " + sessionStorage.clickcount + " time(s) "; } else { document.getElementById("result").innerHTML="对不起,您的浏览器不支持web存储……"; } } </script> </head> <body> <p><button onclick="clickCounter()" type="button">点击</button></p> <div id="result"></div> <p>单击该按钮查看计数器增加。</p> <p>关闭浏览器选项卡(或窗口),再试一次,计数器复位</p> </body> </html>
프로그램을 실행하여 사용해 보세요