JavaScriptでCookieをセット/削除する関数(setCookieとdeleteCookie):エラーを起こさないためにpathはきちんと設定しよう
JavaScript で Cookie をセットする
JavaScript で Cookie をセットする関数。
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();
} else {
expires = "";
}
document.cookie = name + "=" + value + expires + "; path=/";
}
例えば次のように使う。
setCookie('session', 'test', 12)
上のコードでは session に test という値をセットし、それを 12 日間保存している。
JavaScript で Cookie を削除する
JavaScript で Cookie を削除する関数。削除するというよりも期限を過去に設定する。
function deleteCookie(name) {
const d = new Date();
d.setTime(d.getTime() - (1000 * 60 * 60 * 24));
document.cookie = name + '=; expires=' + d.toUTCString() + "; path=/";
}
Stack Overflow などで正常に削除されない関数が掲載されていますが、その原因は path を設定していないことにあるかもしれない。セットと同様に削除も path をきちんと設定しよう。
この関数は次のように使う。
deleteCookie('session')
これで session という名前のクッキーは消える。
配列