JS 튜토리얼

제이에스 홈 JS 소개 JS 어디로 JS 출력 JS 문 JS 구문 JS 코멘트 JS 변수 제이에스렛 JS 상수 JS 연산자 JS 산술 JS 할당 JS 데이터 유형 JS 함수 JS 객체 JS 이벤트 JS 문자열 JS 문자열 메서드 JS 문자열 검색 JS 문자열 템플릿 JS 번호 JS 숫자 메서드 JS 배열 JS 배열 메서드 JS 배열 정렬 JS 배열 반복 JS 배열 상수 JS 날짜 JS 날짜 형식 JS 날짜 가져오기 메서드 JS 날짜 설정 방법 JS 수학 JS 랜덤 JS 부울 JS 비교 JS 조건 JS 스위치 JS 루프 In에 대한 JS 루프 의 JS 루프 JS 루프 동안 JS 브레이크 JS 이터러블 JS 세트 JS 맵 JS 유형 JS 유형 변환 JS 비트와이즈 JS 정규 표현식 JS 오류 JS 범위 JS 호이스팅 JS 엄격 모드 JS 이 키워드 JS 화살표 함수 JS 클래스 JS JSON JS 디버깅 JS 스타일 가이드 JS 모범 사례 JS 실수 JS 성능 JS 예약어

JS 버전

JS 버전 JS 2009(ES5) JS 2015(ES6) JS 2016 JS 2017 JS 2018 JS IE / 엣지 JS 연혁

JS 객체

객체 정의 개체 속성 개체 메서드 개체 표시 개체 접근자 객체 생성자 개체 프로토타입 객체 반복 가능 객체 세트 객체 맵 개체 참조

JS 함수

기능 정의 기능 매개변수 함수 호출 함수 호출 기능 적용 함수 클로저

JS 클래스

수업 소개 클래스 상속 클래스 정적

JS 비동기

JS 콜백 JS 비동기 JS 약속 JS 비동기/대기

JS HTML DOM

DOM 소개 DOM 메서드 DOM 문서 DOM 요소 DOM HTML DOM 양식 DOM CSS DOM 애니메이션 DOM 이벤트 DOM 이벤트 리스너 DOM 탐색 DOM 노드 DOM 컬렉션 DOM 노드 목록

JS 브라우저 BOM

JS 창 JS 화면 JS 위치 JS 연혁 JS 네비게이터 JS 팝업 경고 JS 타이밍 JS 쿠키

JS 웹 API

웹 API 소개 웹 양식 API 웹 기록 API 웹 스토리지 API 웹 작업자 API 웹 가져오기 API 웹 지리적 위치 API

JS 아약스

AJAX 소개 AJAX XMLHttp AJAX 요청 AJAX 응답 AJAX XML 파일 AJAX PHP AJAX ASP AJAX 데이터베이스 AJAX 애플리케이션 AJAX 예제

JS JSON

JSON 소개 JSON 구문 JSON 대 XML JSON 데이터 유형 JSON 구문 분석 JSON 문자열화 JSON 객체 JSON 배열 JSON 서버 JSON PHP JSON HTML JSON JSONP

JS 대 jQuery

jQuery 선택기 제이쿼리 HTML 제이쿼리 CSS 제이쿼리 DOM

JS 그래픽

JS 그래픽 JS 캔버스 JS 플로틀리 JS 차트.js JS 구글 차트 JS D3.js

JS 예제

JS 예제 JS HTML DOM JS HTML 입력 JS HTML 객체 JS HTML 이벤트 JS 브라우저 JS 편집기 JS 연습 JS 퀴즈 JS 인증서

JS 참조

자바스크립트 객체 HTML DOM 객체


자바스크립트 쿠키


쿠키를 사용하면 웹 페이지에 사용자 정보를 저장할 수 있습니다.


쿠키란 무엇입니까?

쿠키는 귀하의 컴퓨터에 작은 텍스트 파일로 저장되는 데이터입니다.

웹 서버가 웹 페이지를 브라우저로 보내면 연결이 종료되고 서버는 사용자에 대한 모든 정보를 잊어버립니다.

쿠키는 "사용자에 대한 정보를 기억하는 방법" 문제를 해결하기 위해 발명되었습니다.

  • 사용자가 웹 페이지를 방문할 때 그의 이름이 쿠키에 저장될 수 있습니다.
  • 다음에 사용자가 페이지를 방문할 때 쿠키는 사용자의 이름을 "기억"합니다.

쿠키는 다음과 같은 이름-값 쌍으로 저장됩니다.

username = John Doe

브라우저가 서버에 웹 페이지를 요청하면 해당 페이지에 속한 쿠키가 요청에 추가됩니다. 이런 식으로 서버는 사용자에 대한 정보를 "기억"하는 데 필요한 데이터를 얻습니다.

브라우저에 로컬 쿠키 지원이 꺼져 있으면 아래 예 중 어느 것도 작동하지 않습니다.


JavaScript로 쿠키 만들기

JavaScript는 속성을 사용하여 쿠키를 만들고 읽고 삭제할 수 있습니다 document.cookie .

JavaScript를 사용하면 다음과 같이 쿠키를 만들 수 있습니다.

document.cookie = "username=John Doe";

만료 날짜(UTC 시간)를 추가할 수도 있습니다. 기본적으로 쿠키는 브라우저가 닫힐 때 삭제됩니다.

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC";

경로 매개변수를 사용하면 쿠키가 속한 경로를 브라우저에 알릴 수 있습니다. 기본적으로 쿠키는 현재 페이지에 속합니다.

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";


JavaScript로 쿠키 읽기

JavaScript를 사용하면 쿠키를 다음과 같이 읽을 수 있습니다.

let x = document.cookie;

document.cookie다음과 같이 모든 쿠키를 하나의 문자열로 반환합니다. cookie1=value; 쿠키2=값; 쿠키3=값;


JavaScript로 쿠키 변경

JavaScript를 사용하면 쿠키를 만들 때와 같은 방식으로 쿠키를 변경할 수 있습니다.

document.cookie = "username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

이전 쿠키를 덮어씁니다.


JavaScript로 쿠키 삭제

쿠키를 삭제하는 것은 매우 간단합니다.

쿠키를 삭제할 때 쿠키 값을 지정할 필요가 없습니다.

만료 매개변수를 과거 날짜로 설정하기만 하면 됩니다.

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";

올바른 쿠키를 삭제하려면 쿠키 경로를 정의해야 합니다.

경로를 지정하지 않으면 일부 브라우저에서는 쿠키를 삭제할 수 없습니다.


쿠키 문자열

속성 은 document.cookie일반 텍스트 문자열처럼 보입니다. 하지만 그렇지 않습니다.

document.cookie에 전체 쿠키 문자열을 작성하더라도 다시 읽을 때 이름-값 쌍만 볼 수 있습니다.

새 쿠키를 설정하면 이전 쿠키를 덮어쓰지 않습니다. 새 쿠키가 document.cookie에 추가되었으므로 document.cookie를 다시 읽으면 다음과 같은 결과가 나타납니다.

쿠키1 = 값; 쿠키2 = 값;

     

지정된 쿠키 하나의 값을 찾으려면 쿠키 문자열에서 쿠키 값을 검색하는 JavaScript 함수를 작성해야 합니다.


자바스크립트 쿠키의 예

다음 예에서는 방문자의 이름을 저장하는 쿠키를 생성합니다.

방문자가 웹 페이지에 처음 도착하면 이름을 입력해야 합니다. 그런 다음 이름이 쿠키에 저장됩니다.

방문자가 다음에 같은 페이지에 도착하면 환영 메시지를 받게 됩니다.

예를 들어 3개의 JavaScript 함수를 만들 것입니다.

  1. 쿠키 값을 설정하는 함수
  2. 쿠키 값을 가져오는 함수
  3. 쿠키 값을 확인하는 함수

쿠키를 설정하는 기능

function먼저 방문자의 이름을 쿠키 변수에 저장하는 것을 만듭니다 .

예시

function setCookie(cname, cvalue, exdays) {
  const d = new Date();
  d.setTime(d.getTime() + (exdays*24*60*60*1000));
  let expires = "expires="+ d.toUTCString();
  document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

설명된 예:

위 함수의 매개변수는 쿠키의 이름(cname), 쿠키의 값(cvalue), 쿠키가 만료될 때까지 남은 일수(exdays)입니다.

이 함수는 쿠키 이름, 쿠키 값 및 만료 문자열을 함께 추가하여 쿠키를 설정합니다.


쿠키를 가져오는 함수

그런 다음 function지정된 쿠키의 값을 반환하는 다음을 생성합니다.

예시

function getCookie(cname) {
  let name = cname + "=";
  let decodedCookie = decodeURIComponent(document.cookie);
  let ca = decodedCookie.split(';');
  for(let i = 0; i <ca.length; i++) {
    let c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
      return c.substring(name.length, c.length);
    }
  }
  return "";
}

기능 설명:

쿠키 이름을 매개변수(cname)로 사용합니다.

(cname + "=") 검색할 텍스트로 변수(이름)를 만듭니다.

쿠키 문자열을 디코딩하여 특수 문자(예: '$')가 있는 쿠키를 처리합니다.

세미콜론의 document.cookie를 ca라는 배열로 분할합니다(ca = decodedCookie.split(';')).

ca 배열(i = 0; i < ca.length; i++)을 순환하고 각 값 c = ca[i])를 읽습니다.

쿠키가 발견되면(c.indexOf(name) == 0) 쿠키의 값(c.substring(name.length, c.length)을 반환합니다.

쿠키를 찾을 수 없으면 ""를 반환합니다.


쿠키를 확인하는 기능

마지막으로 쿠키가 설정되었는지 확인하는 함수를 만듭니다.

쿠키가 설정되면 인사말이 표시됩니다.

setCookie쿠키가 설정되지 않은 경우 사용자 이름을 묻는 프롬프트 상자가 표시되고 다음 함수 를 호출하여 사용자 이름 쿠키를 365일 동안 저장합니다 .

예시

function checkCookie() {
  let username = getCookie("username");
  if (username != "") {
   alert("Welcome again " + username);
  } else {
    username = prompt("Please enter your name:", "");
    if (username != "" && username != null) {
      setCookie("username", username, 365);
    }
  }
}

모두 함께 지금

예시

function setCookie(cname, cvalue, exdays) {
  const d = new Date();
  d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
  let expires = "expires="+d.toUTCString();
  document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie(cname) {
  let name = cname + "=";
  let ca = document.cookie.split(';');
  for(let i = 0; i < ca.length; i++) {
    let c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
      return c.substring(name.length, c.length);
    }
  }
  return "";
}

function checkCookie() {
  let user = getCookie("username");
  if (user != "") {
    alert("Welcome again " + user);
  } else {
    user = prompt("Please enter your name:", "");
    if (user != "" && user != null) {
      setCookie("username", user, 365);
    }
  }
}

위의 예 checkCookie()는 페이지가 로드될 때 함수를 실행합니다.