Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 쿠키 만료 시간을 30분으로 설정하는 방법

쿠키에 만료 날짜를 지정하고 그 만료 시각을 쿠키 내부에 함께 저장하면, 현재 브라우저 세션이 종료된 이후에도 쿠키의 수명을 연장할 수 있습니다. 이는 expires 속성에 원하는 날짜와 시간을 설정하는 방식으로 구현됩니다.

동작 원리

핵심은 현재 시간에 원하는 유지 시간(밀리초 단위)을 더해 만료 시점을 계산하는 것입니다. 예를 들어 30분은 30 × 60 × 1000 밀리초이며, Date 객체의 setTime() 메서드를 사용해 이 값을 더한 뒤 toUTCString()으로 변환하여 쿠키의 expires 속성에 저장합니다.

예제

아래 예제를 실행하면 입력한 이름이 담긴 쿠키가 생성되고, 30분 후 자동으로 만료되도록 설정됩니다.

<html>
   <head>
      <script>
         <!--
            function WriteCookie() {
               var now = new Date();
               var minutes = 30;
               now.setTime(now.getTime() + (minutes * 60 * 1000));
               cookievalue = escape(document.myform.customer.value) + ";"

               document.cookie="name=" + cookievalue;
               document.cookie = "expires=" + now.toUTCString() + ";"
               document.write ("Setting Cookies : " + "name=" + cookievalue );
            }
         //-->
      </script>
   </head>
   <body>
      <form name="myform" action="">
         Enter name: <input type="text" name="customer"/>
         <input type="button" value="Set Cookie" onclick="WriteCookie()"/>
      </form>
   </body>
</html>

코드 설명

new Date()로 현재 시간을 가져온 뒤, now.getTime() + (minutes * 60 * 1000)을 통해 정확히 30분 후의 시각을 계산합니다. 이후 document.cookie에 쿠키 이름·값과 함께 expires=만료시각(UTC 문자열)을 설정하면, 브라우저는 지정된 시간이 지나면 해당 쿠키를 자동으로 삭제합니다.