memo.xight.org

日々のメモ

JavaScriptでCookieを扱う

Cookieの取得

var cookie = document.cookie;


Cookieの設定

document.cookie = 'var1=value1;var2=value2;var3=value3;';


Cookieの有効期限を指定する

document.cookie = 'var1=value1; expires=Tue, 1-Jan-2030 00:00:00 GMT;';


Cookieの書き込み (有効期限を1時間後に指定)

var xDay = new Date;
xDay.setHours(xDay.getHours() + 1); // 有効期限を1時間後に設定
xDay = xDay.toGMTString();          //GMT形式の文字列に変換
document.cookie = "value0=" + + ";expires=" + xDay;


Cookieの読み込み

function loadCookie(arg){ //argはデータ識別文字列
	if(arg){
		var cookieData = document.cookie + ";"; //文字列の最後に「;」を追加
		var startPoint1 = cookieData.indexOf(arg);
		var startPoint2 = cookieData.indexOf("=",startPoint1);
		var endPoint = cookieData.indexOf(";",startPoint1);
		if(startPoint2 < endPoint && startPoint1 > -1){
			cookieData = cookieData.substring(startPoint2,endPoint);
			cookieData = cookieData;
			return cookieData;
		}
	}
	return false
}


Cookieの削除

有効期限を過去に設定することでCookieは削除される.
function deleteCookie(arg){ //argはデータ識別文字列
	if(arg){
		var yDay = new Date;
		yDay.setHours(yDay.getHours() - 1); // 有効期限を1時間前に設定
		yDay = yDay.toGMTString();          //GMT形式の文字列に変換
		document.cookie = arg + "=xxx" + ";expires=" + yDay;
	}
}


Reference

とほほのCookie入門
http://www.tohoho-web.com/wwwcook.htm#CookieWrite
From DFJ - DHTML/JavaScript Index - Cookieの利用
http://www.fromdfj.net/javascript/cookie.html
クッキーの読み書き
http://www9.plala.or.jp/oyoyon/html/script/cookie.html