これまたよく使うのでメモ。
WebkitITPはスルー
//read
window.cookieread = function(c) {
var ret = '';
var cn = c + '=';
var allc = document.cookie;
var pos = allc.indexOf(cn);
if(pos != -1) {
var si = pos + cn.length;
var ei = allc.indexOf(';', si);
if(ei == -1) {
ei = allc.length;
}
ret = decodeURIComponent(allc.substring(si, ei));
}
return ret;
};
//write
window.cookiewrite = function(cn, val, exp, dom) {
var value = cn + '=' + encodeURIComponent(val) + '; domain=' + dom + '; path=/;';
if (exp) {
var d = new Date();
d.setDate(d.getDate() + exp);
var expires = d.toUTCString();
value = value + ' expires=' + expires;
}
document.cookie = value;
};
使い方
//クッキー名, 値, 有効日数(0ならセッション), 有効ドメイン
cookiewrite('hoge', 'foobar', 30, '.kwonline.org');
var hoge = cookieread('hoge');
//foobar
これまたES5の構文だ。