【发布时间】:2012-03-03 19:23:01
【问题描述】:
我写了下面的函数来设置一个cookie。这里$.$domain保存了域名。
function $cookie(name,value,lifeTime,path,domain,secure){//lifetime in hours
if(typeof name == 'undefined' || name == '' ){
alert('ERROR !!!\n Name of the cookie is not passed \n');
return false;
}
if(typeof value == 'undefined'){
alert('ERROR !!!\n Value of the cookie '+name+' is not passed \n');
return false;
}
var c_ = name +'='+escape(value)+';';
if(typeof lifeTime != 'undefined'&&lifeTime != ''){
var life = new Date();
lifeTime<1&&lifeTime>0life.setMinutes(life.getMinutes()+lifeTime*60):life.setHours(life.getHours()+lifeTime);
life = life.toUTCString();
c_+='expires='+life+";";
}
else lifeTime = 'Unspecified';
if(typeof domain != 'undefined' && domain != '' )
c_+= 'domain='+domain+';';
else
domain = $.$domain;
if(secure == 1 )
c_ += 'secure=secure;';//secure
else
secure = 0;
if(typeof path != 'undefined' && path != '')
c_ += 'path='+path+';';
else
path = '/';
document.cookie = c_;
this.$name = name;
this.$value = value;
this.$life = lifeTime;
this.$domain = domain;
this.$secure= secure;
this.$path = path;
if(!$.$COOKIE)
$.$COOKIE = {};
if(lifeTime<0)
{
var t;
if(t = $.$COOKIE[name])
{
delete t.$name;
delete t.$value;
delete t.$life;
delete t.$domain;
delete t.$secure;
delete t.$path;
delete $.$COOKIE[name];
}
}
else
$.$COOKIE[name] = this;
return this;
}
var a = new $cookie('a2',6,1,'./scripts','');
$.$COOKIE 保存了域设置的所有 cookie。 脚本是我根目录中的一个目录.. 创建a后,我在谷歌浏览器中查看了cookie,但是路径没有设置。它设置到我的/目录。为什么会这样
【问题讨论】:
标签: javascript cookies path