Irohabook
0
2083

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 という名前のクッキーは消える。

次の記事

配列