JS]JavaScriptを使用してCookieの読み取り、作成、変更、削除


💡 JSでCookieを読み取り、作成、削除!

🔴 html、cssファイル

  • ナビゲーションセンターを参照 , check_cookies.html
  • 以前と同じで、少し内容を修正しただけで、
  • 🟤 onclickイベントハンドラをhtmlファイルボタンに追加してイベントをトリガーします。

    <tbody class="text-center" id="htmlTbody">
      <tr>
        <td class="align-middle">쿠키 생성하기</td>
        <td><button class="cookies" onclick="getCookies();">Get Cookies</button></td>
      </tr>
      <tr>
        <td class="align-middle">쿠키 생성하기</td>
        <td><button class="cookies" onclick="setCookies()">Set Cookies</button></td>
      </tr>
      <tr>
        <td class="align-middle">쿠키 삭제하기</td>
        <td><button class="cookies" onclick="delCookies()">Del Cookies</button></td>
      </tr>
    </tbody>

    🟠 Javaスクリプトを使用したCookiesの作成


  • きほんほうしき
    : document.cookie = "name=???; name2=???; expires=???; path=???;";

  • クッキーの場所を確認
    :開発者ツール>アプリケーション>ストレージ>Cookies

  • 🟡 Cookieの読み込み

    function getCookies() {
    /* 로컬에 저장된 쿠키 뿌려주기 */
      const allCookies = document.cookie; 
      // 하나의 문자열로 리턴 --> cookie1=value; cookie2=value; cookie3=value
      console.log(typeof allCookies); // string
    
      /* if 조건문 -> 쿠키가 있으면 */
      if(allCookies != '')
        alert(`저장된 쿠키의 값은 ${allCookies} \n다시 방문해주셔서 환영합니다.`)
      else
        alert(`저장된 쿠키가 없습니다. \n(첫방문을 환영합니다.)`)
    }
  • Cookieがある場合、出力文は->Cookieの文字列値と同じです.
  • クッキーがない場合->ないと表示されます.条件文を使用してCookieがあるかどうかを決定します.
  • 🟢 Cookieの削除

    function setCookies() {
      // 기본적인 날짜 출력 -> 날짜 쓸일? -> 만료일 -> expiration, expire
      // let nowDate = new Date();
      // console.log(nowDate);
    
      // 만료일 생성
      // let expiration = nowDate.getDate() + 10; // 30
      // console.log(typeof expiration);
    
      // 20일 -> 30일로 날짜가 나타나도록 생성
      let expiration = new Date();
      expiration.setDate(expiration.getDate()+10);
      console.log(expiration);
    
      // 날짜를 쿠키로 저장하기 위해서 -> UTC 방식으로 표기 -> toUTCString() 메서드 사용.
      console.log(expiration.toUTCString());
    
      // 쿠키 생성하기
      let cookies = '';
      cookies = `userid=helloworld; expires=${expiration.toUTCString()};`;
      console.log(cookies);
    
      // 쿠키 저장하기
      document.cookie = cookies;
      alert('쿠키를 생성하였습니다.');
    }
  • let nowDate = new Date(); console.log(nowDate);:このように日付を出力
  • の有効期限を作成する方法
  • let expiration = nowDate.getDate() + 10;->30出力です.
  • let expiration = new Date(); expiration.setDate(expiration.getDate()+10);->10の日付が出力されます.
  • 日をCookieとして保存するために、UTC方式でタグ付けする.
    :.toUTCString()メソッドを使用します.
  • クッキーを生成します.
  • 空のオブジェクトを作成し、空のオブジェクトにkey=value... expires=~~を作成します.
  • クッキーに貯蔵されています.doucument.cookie = 쿠키저장한 변수;
  • 🔵 Cookieの削除

    function delCookies() {
      // document.cookie에 값을 대입하는 형태로 -> 쿠키 삭제(or 생성/수정)
      // 직접 삭제가 아니라 수정이라고 봐야함. 만료일을 정해놓은 쿠키를 과거의 날짜로 수정해서 쿠키를 수정하는 것 -> 수정이 즉 삭제의 의미
      // 쿠키 삭제는? 이미 한참 지나간 시간을 입력해버림으로써 쿠키를 삭제시킨다.
      document.cookie = 'username=honggildong;'; // 쿠키생성
      document.cookie = 'username=leesoonsin;'; // 쿠키수정
      document.cookie = 'username=leesoonsin; expires=Sat, 01 Jan 1972 00:00:00 GMT' // 쿠키삭제
      document.cookie = 'userid=leesoonsin; expires=Sat, 01 Jan 1972 00:00:00 GMT' // 쿠키삭제
      alert('쿠키를 삭제하였습니다.');
    }
    削除
  • クッキーは口頭での削除クッキーにすぎず、本当に削除すれば修正クッキーと考えられる.Cookieの有効期限を過去に変更し、削除されたようにします.
  • 🟣 Summary

  • JSにクッキーを簡単に書き込むには、ユーザーが自分で関数を書くことができます.
  • より便利なのは、JSのCookie関連の軽量級ライブラリを使用することです.
  • document.クッキーは一生懸命働いてるよ
  • クッキーの削除は、経過した日付を入力することによって削除されます.
  • では、通常、Set(作成)、Get(読み取り)、Del(削除)の3つのユーザ関数が実装されます.