LoginSignup
2
0

More than 1 year has passed since last update.

知らなかったCookieの2つの属性について

Last updated at Posted at 2022-12-08

Cookieの操作で初めて知ったことがあったので共有と備忘録の意味を込めて記事にします。

業務でCookieの有無によってDOMの操作(表示切り替えなど)を行うこともしばしばあると思います。
その時に「何で表示がきりかわらないんだ?」となってその理由がCookieの属性によるものでした。

Cookieの属性について

Cookieには 2つの属性があります。
JavaScriptの観点から見ると2つの属性はdocument.cookieでアクセスできるかできないかの違いがあります。

JavaScriptでアクセスするためにはSecureで追加する必要があります。

ただ、アクセスされてしまう危険性があるのでCookieの付与する際の処理は十分な注意が必要です。

Cookieを操作する時には属性によってJavaScriptでは操作できないので注意してください!

おまけ:Cookieを操作するときの便利なライブラリ

簡単にCookieの取得処理がかけます。

ライブラリを使う前
const result = new Array();
const allCookies = document.cookie;

if(allCookies) {
  const cookies = cookies.split('; ');
  for(let i = 0; i < cookies.length; i++) {
    const cookie = cookies[i].split('=');
    result[cookie[0]] = decodeURIComponent(cookie[1]);
  }
}

if(result['hoge']) {
  // 特定のcookieがあった時の処理
}
ライブラリを使った後
import Cookies from 'js-cookie';
const cookie = Cookies.get('hoge');

if(cookie) {
  // 特定のcookieがあった時の処理
}
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0