[javascript]代码库
function cookie(name, value, expires, path, domain, secure) {
// 初始化
this.name = name;
this.value = value;
this.expires = expires;
this.path = path;
this.domain = domain;
this.secure = secure;
// 读取cookie
this.read = function () {
// 快捷操作
var ck = document.cookie;
var arg = this.name + "=";
var alen = arg.length;
var clen = ck.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (ck.substring(i, j) == arg) {
var endstr = ck.indexOf(";", j);
if (endstr == -1)
endstr = ck.length;
return unescape(ck.substring(j, endstr));
}
i = ck.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}
// 设置cookie
this.set = function () {
// 更新cookie过期时间
expStore = this.expires;
exp = new Date();
base = new Date(0);
skew = base.getTime();
if (skew > 0)
exp.setTime(exp.getTime() - skew);
exp.setTime(exp.getTime() + (this.expires * 24 * 60 * 60 * 1000));
this.expires = exp;
document.cookie = this.name + "=" + escape(this.value) +
((this.expires) ? "; expires=" + this.expires.toGMTString() : "") +
((this.path) ? "; path=" + this.path : "") +
((this.domain) ? "; domain=" + this.domain : "") +
((this.secure) ? "; secure" : "");
// 刷新cookie类中的cookie过期时间
this.expires = expStore;
}
// 删除cookie
this.kill = function () {
document.cookie = this.name + "=" +
((this.path) ? "; path=" + this.path : "") +
((this.domain) ? "; domain=" + this.domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
// 更改cookie类中的cookie属性
this.changeName = function (chName) {
this.kill();
this.name = chName;
this.set();
}
this.changeVal = function (chVal) {
this.kill();
this.value = chVal;
this.set();
}
this.changeExp = function (chExp) {
this.kill();
this.expires = chExp;
this.set();
}
this.changePath = function (chPath) {
this.kill();
this.path = chPath;
this.set();
}
this.changeDomain = function (chDom) {
this.kill();
this.domain = chDom;
this.set();
}
this.changeSecurity = function (chSec) {
this.kill();
this.secure = chSec;
this.set();
}
}