2012-02-11 14 views
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; 

があるべきと思われ、この出来事

答えて

0

ある

if(typeof domain != 'undefined' && domain != '') 
     c_+= 'domain='+domain+';'; 
     else 
     c_+= 'domain='+$.$domain+';'; 
+0

:domainがdocument.cookieドメインで指定されていない場合、cookieが設定されているページのドメインになりますか? そのため、私はそれをdocument.cookieに追加しませんでした。ユーザーがドメインを指定した場合にのみ追加されます。 –

+0

$ $ドメインはグローバルでドメイン名として使用することを理解しました。 –

+0

ok ..Whyパスが設定されていませんか? –

関連する問題