JavaScript

[Window_Object] JS - localStorage 속성 - 웹브라우저에 키/값 쌍을 데이터 영구저장 (IE8 이상) ※ 쿠키 대용 (= 토글 효과 지속・유지)

※ 결과보기 클릭 시 정상 작동 X (※ 홈페이지에 코드 넣고 크롬에서 확인하면 정상 출력)


localStorage 예제 - 저장 후 불러오기

 

<div id="hz"></div>


<script>

// 브라우저 지원 체크

if (typeof(Storage) !== "undefined") {

     // 키/값 짝으로 저장

    localStorage.setItem("host", "Homzzang.com");

 

    // name으로 탐색해 출력

    document.getElementById("hz").innerHTML = localStorage.getItem("host"); 

 

} else {

 

    document.getElementById("hz").innerHTML = "Web Storage 지원 X";

 

}

</script>

 

결과보기 (지원 브라우저 경우 결과값: Homzzang.com)

 

window.localStorage 정의 

 

웹 브라우저에 키/값 쌍을 저장 가능. 

 


 

※ localStorage 속성은 window 객체의 속성 중 하나. 따라서, 앞에 window 안 붙여도 됨.

 

1.

localStorage 객체는 만료 날짜가 없는 데이터를 저장. 

브라우저 닫아도 데이터 삭제 안 되며 다음 (날・주・연도)에 사용 가능.

 

2.

localStorage 속성은 읽기 전용.


cf.

sessionStorage 속성 : 세션 데이터 저장.  (※ 브라우저 탭 닫으면 데이터 손실 됨) 

 

3.

IE8 이상 주요 최신 브라우저 모두 지원.

 

 

window.localStorage 구문 

 

window.localStorage

 

데이터를 localStorage에 저장

localStorage.setItem("key", "value");

 

localStorage에서 데이터 읽기

var host = localStorage.getItem("key");

 

localStorage에서 데이터 제거

localStorage.removeItem("key");

 


[반환값]

 

스토리지 객체.

 

 

localStorage 예제 - 클릭 횟수

※ 브라우저 닫아다 다시 열어도 이어서 클릭 횟수 증가

 

<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 + " 회";

    } else {

        document.getElementById("result").innerHTML = "web storage 지원 X.";

    }

}

</script>


<p><button onclick="clickCounter()" type="button">클릭</button></p>

<div id="result"></div>


결과보기


 

localStorage 예제 - 토글 효과 지속

 

<script src="http://code.jquery.com/jquery-latest.js"></script>

 

<div id="bo_list" style="display:block">bo_list</div>

<button id="toggle">toggle</button>


<script type="text/javascript">

$(document).ready(function() {

    $('#toggle').click(function() {

        if ($("#bo_list").css("display") == "none") {

            $('#bo_list').css("display", "block");

            localStorage.setItem("bo_list", "block");

        } else{

            $('#bo_list').css("display", "none");

            localStorage.setItem("bo_list", "none");

        }                

        console.log("set: " + $('#bo_list').css("display"));

    });

    var display = localStorage.getItem('bo_list');

    ($("#bo_list").css("display", display));

    console.log("get: " + display);

});

</script>

 

결과보기

취미생활 님 (200525) https://sir.kr/qa/360619


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
Basic JS - Home (JS입문) + Javascript Framework (프레임워크) 종류
Basic JS - Intro (JS소개)
Basic JS - Where To (JS위치) - JS구문 / JS코드위치 / JS사용법 ※ JS외부링크 주의사항
Basic JS - Output (JS출력= JS쓰기) ★★★★★
Basic JS - Syntax (JS구문) ★
Basic JS - Statement (JS구문= JS명령문)
Basic JS - Comment (JS주석)
Basic JS - Variable (JS변수) ★★★★★
Basic JS - Operator (연산자) - JS연산자 ★★★★★
Basic JS - Data Type - 데이터유형 ★★★★★ (= 데이터형식 = 데이터타입 = 데이터종류 = 자료형…
Basic JS - Function - JS함수 ★★★★★ ※ 일반함수 특징 2
Basic JS - Object - JS객체 ★★★★★
Basic JS - Scope - JS유효범위 (= JS접근범위 = 변수 종류) ★★★★★★★★★★
Basic JS - Event - JS이벤트 (= JS코드실행방법) ★★★★★
Basic JS - Strings - JS문자열
1/89
목록
  • 채팅방
  • 필독
1. 채팅창 헤드에서 접속자 확인 2. 닉네임 클릭해 1:1 채팅 가능 3. 닉네임 클릭해 귓속말 가능 4. 닉네임 클릭해 호출하기 가능 5. 우하단 클릭해 환경 설정 가능 6. 의뢰글 작성 후 의뢰 상담 가능 7. 질문글 작성 후 질문 상담 가능 8. 채팅방에 개인정보 입력 금지 9. 채팅방에 광고 욕설 비방 금지
 홈  PC버전 로그인 일본어
웹디자인언어
서버관리언어
고급코딩언어
그누보드
제작의뢰
Q&A
커뮤니티
웹유틸
회원센터
홈짱 PC버전 로그인