counter.png

위와 같은 화면에서 새로고침하거나, 페이지를 새로 들어갈 때마다 방문자 수의 카운트를 1씩 증가시키는 코드를 구현 - 단 쿠키를 활용

<aside> 💡 기본 로직

  1. 모든 요소는 DOMContentLoaded 이벤트 안에 구현
  2. 방문 횟수를 업데이트 하는 함수를 정의
  3. 쿠키를 설정하는 함수를 정의
  4. 쿠키를 가져오는 함수를 정의
  5. 방문 횟수를 업데이트하는 함수를 호출

</aside>

방문 횟수를 업데이트 하는 함수를 정의

document.addEventListener('DOMContentLoaded', () => {
  const visitCountElement = document.getElementById('visitCount');

  // 방문 횟수를 업데이트하는 함수 정의
  function updateVisitCount() {
    let visits = getCookie('visits');
    visits = visits ? parseInt(visits) + 1 : 1;

    setCookie('visits', visits, 365);
    visitCountElement.textContent = visits;
});

쿠키 설정 함수 정의

// updateVisitCount 함수 끝나는 곳 아래에 작성
// 쿠키 설정 함수 정의
function setCookie(name, value, days) {
  let expires = '';
  if (days) {
    const date = new Date();
    date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
    expires = 'expires=' + date.toUTCString();
  }
  document.cookie = name + '=' + value + ';' + expires + ';path=/';
}

쿠키 가져오는 함수 정의

// setCookie함수 끝나는 곳 아래에 작성
// 쿠키 가져오는 함수 정의
function getCookie(name) {
  let nameEQ = name + '=';

  let ca = document.cookie.split(';');
  console.log(ca);
  for (let i = 0; i < ca.length; i++) {
    let c = ca[i].trim();
	  if (c.indexOf(nameEQ) === 0) {
      console.log(nameEQ.length);
      console.log(c.length);
      return c.substring(nameEQ.length, c.length);
    }
  }

  return null;
}