RyoSugimoto of Test Group
1/22/2015 - 2:47 AM

クッキー関係の操作。

クッキー関係の操作。

var Cookie = {
	get: function (name) {
		var start = document.cookie.indexOf(name + '='),
			l = start + name.length + 1;
		if ((!start) && (name != document.cookie.substring(0, name.length))) {
			return null;
		}
		if (start == -1) {
			return null;
		}
		var end = document.cookie.indexOf(';', l);
		if (end == -1) {
			end = document.cookie.length;
		}
		return decodeURIComponent(document.cookie.substring(l, end));
	},
	/**
	 * @param name {string} クッキーの名前
	 * @param value {string|number|bool} クッキーに保存する値
	 * @param expires {number} 有効日数
	 * @param path {string} パス
	 * @param domain {string} ドメイン
	 */
	set: function (name, value, expires, path, domain, secure) {
		var today = new Date();
		today.setTime(today.getTime());
		if (expires) {
			expires = expires * 1000 * 60 * 60 * 24;
		}
		var expiresDate = new Date(today.getTime() + (expires));
		document.cookie = name + '=' + escape(value) +
			((expires) ? ';expires=' + expiresDate.toGMTString() : '') +
			((path) ? ';path=' + path : '') +
			((domain) ? ';domain=' + domain : '') +
			((secure) ? ';secure' : '');
	},
	delete: function (name, path, domain) {
		if (this.get(name)) {
			document.cookie = name + '=' +
			((path) ? ';path=' + path : '') +
			((domain) ? ';domain=' + domain : '') +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
		}
	}
};