javascriptでCookieを設定したけど消せなかった
タイトルの通り、javascriptでCookieを消せなくてハマったので備忘録。
まずはこんなような感じでクッキーを保存しました。
//Cookieをセットする関数
function setCookie(name,content,date){
document.cookie = name+'='+content+'; expires=' + date.toUTCString() + '; path=/demo;';
}
var cookieDate = new Date;
cookieDate.setHours(cookieDate.getHours() + 1);//1時間
setCookie('demoCookie','クッキー焼いたよ',cookieDate);
ググったら設定をしたCookieを消すには下記のような感じにすればいいらしい。でも消えなかった。
document.cookie = "demoCookie=; expires=0";//消えない!
Cookieを消すには設定した属性を全て書かなければ消えないっぽい
//お目当てのCookieを取ってくる関数
function getCookie(name){
var cookieArr = document.cookie.split(';');
for (var i = 0; i < cookieArr.length; i++) {
var cookiePair = cookieArr[i].split('=');
if (name === cookiePair[0].trim()) {
return decodeURIComponent(cookiePair[1]);
}
}
return null;
}
//Cookieを消す
function clearCookie(name){
var dt = new Date('1999-12-31T23:59:59Z');//過去の日付を入れる
document.cookie = name+'='+getCookie(name)+'; max-age=0; expires='+ dt.toUTCString()+'; path=/demo;';
};
clearCookie('demoCookie');