【クッキーの保存/削除/取得「kl_cookie_xxx()」<keynavi_ja.js】
//----------------------------
//クッキー保存:kl_cookie_set(key,val,path,exp)
//返り値:成功時は真
//key:クッキー名(文字列)
//val:値(文字列)
//path:保存先のパス(文字列)
//exp:保存期限 (日時を表す文字列か数値[-1/0/1])
//----------------------------
function kl_cookie_set_raw(key,val,path,exp){
if(kl_eq(exp,-1)) exp="Mon, 31-Dec-1990 23:59:59 GMT";
if(kl_eq(exp, 0)) exp="";
if(kl_eq(exp, 1)) exp="Tue, 31-Dec-2030 23:00:00 GMT";
var cs=key+"="+val+";";
if(kl_isstr(path)) if(path.length>0) cs+=" path="+path+";";
if(kl_isstr(exp)) if(exp.length >0) cs+=" expires="+exp+";";
document.cookie=cs;
}
function kl_cookie_set(key,val,path,exp){
kl_cookie_set_raw(key,val,path,exp);
if(kl_eq(exp,1)){
if(!kl_eq(kl_cookie_get(key),val)) kl_cookie_set_raw(key,val,path,0);
}
return kl_eq(kl_cookie_get(key),val);
}
//----------------------------
//クッキー削除:kl_cookie_del(key,path)
//返り値:成功時は真
//key:クッキー名(文字列)
//path:保存先のパス(文字列)
//----------------------------
function kl_cookie_del(key,path){
kl_cookie_set(key,"",path,-1); return kl_eq(kl_cookie_get(key,-1),-1);
}
//----------------------------
//クッキー取得:kl_cookie_get(key,defval)
//返り値:成功時は文字列、失敗したら「defval(省略時はundefined)」
//key:クッキー名(文字列)
//----------------------------
function kl_cookie_get(key){
if(!document.cookie) return defval;
var v=document.cookie;
var ns=v.indexOf(key+"="); if(ns<0) return defval; ns=ns+key.length+1;
var ne=v.indexOf(";",ns); if(ne<0) ne=v.length;
return v.substring(ns,ne);
}