0
私はクッキーを設定するために以下の関数を書いています。ここ$ドメインはドメイン名を保持しています。Javascript Cookieパスが設定されていません
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','');
$。$クッキーはドメインで設定されたすべてのクッキーを保持している。.. スクリプト私のルートディレクトリ内のディレクトリ..です作成された後 、私はGoogleのクロムにクッキーを見た、しかし、パスはset.Itが私の/ディレクトリに設定されていない.Whyは、
if(typeof domain != 'undefined' && domain != '')
c_+= 'domain='+domain+';';
else
domain = $.$domain;
があるべきと思われ、この出来事
:domainがdocument.cookieドメインで指定されていない場合、cookieが設定されているページのドメインになりますか? そのため、私はそれをdocument.cookieに追加しませんでした。ユーザーがドメインを指定した場合にのみ追加されます。 –
$ $ドメインはグローバルでドメイン名として使用することを理解しました。 –
ok ..Whyパスが設定されていませんか? –