갬쿠
개미 개발
갬쿠
전체 방문자
오늘
어제
  • ALL (137)
    • React (20)
    • JS & CSS & HTML (29)
    • Algorithm (62)
    • 웹 보안 (11)
    • 달리는 까까: 쿠키런 팬게임 (10)
    • Python (0)
    • 기타 (5)
    • 비공개 플젝 (0)

블로그 메뉴

  • GitHub
  • 방명록
  • 관리자 메뉴

공지사항

인기 글

태그

  • 달리는 까까
  • node.js
  • useEffect
  • 객체
  • SQL Injection
  • 백준
  • 게임 개발
  • Object
  • 쿠키런
  • js
  • HTML
  • JavaScript
  • CSS
  • 쿠키런 모작
  • useState
  • BEAKJOON
  • Best of the Best
  • 쿠키런 팬게임
  • useReducer
  • transform
  • Python
  • 게임
  • 크롬 공룡게임
  • REACT
  • Baekjoon
  • 리액트
  • 모의 해킹
  • EventListener
  • Programmers
  • 크롬 공룡 게임

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
갬쿠

개미 개발

JS LocalStorage
JS & CSS & HTML

JS LocalStorage

2022. 4. 19. 23:53

게임을 로비 화면과 게임 플레이 화면으로 분리하면서 html 페이지 간 데이터를 공유해야 했다.

(현재 플레이 중인 스테이지, 최고 점수, 현재 점수, 쿠키 체력 등)

따로 서버를 이용하지 않고도 페이지 간 데이터를 전달하는 간단한 방법이 있다.

 

https://developer.mozilla.org/ko/docs/Web/API/Window/localStorage

 

Window.localStorage - Web API | MDN

localStorage 읽기 전용 속성을 사용하면 Document 출처의 Storage 객체에 접근할 수 있습니다. 저장한 데이터는 브라우저 세션 간에 공유됩니다.

developer.mozilla.org

 

LocalStorage에 원하는 값을 저장하면 명시적으로 연결(import)되어 있지 않은 페이지에서도 값을 꺼내 쓸 수 있다.

 

/* 값 저장하기 */
localStorage.setItem('key', 'value');

/* 값 가져오기 */
localStorage.getItem('key');

 

사용해본 결과 페이지를 새로고침 해도 LocalStorage의 데이터는 그대로 남아있다. 게임 데이터가 사라지지 않는다는 점에서는 이점이지만 값을 없애고 싶은 경우 직접 삭제해 줘야 한다는 번거로움이 있다.

/* 아이템 제거 */
localStorage.removeItem('key');

/* 스토리지 비우기(전체 삭제) */
localStorage.clear();

 


나중에 서비스를 운영하려면 서버에 연결하고 각 사용자의 데이터를 저장해야겠지만, 그것과는 별개로 사용자가 창을 껐다 켜도 데이터를 유지시킬 수 있어 유용할 것 같다.

플레이 후 저장된 최고 점수와 현재 점수를 로비로 옮겨온 모습

 

728x90

'JS & CSS & HTML' 카테고리의 다른 글

CSS line-height  (0) 2022.05.03
Font Awesome : HTML에 아이콘 삽입  (0) 2022.04.20
JS FILE NOT FOUND 에러 수정(왤까..?)  (0) 2022.04.18
CSS transition  (0) 2022.03.31
JS arrow function  (0) 2022.03.31
    'JS & CSS & HTML' 카테고리의 다른 글
    • CSS line-height
    • Font Awesome : HTML에 아이콘 삽입
    • JS FILE NOT FOUND 에러 수정(왤까..?)
    • CSS transition
    갬쿠
    갬쿠
    보안&소프트웨어 전공 프론트엔드 개발자

    티스토리툴바