Javascript cookie.未设置路径

Javascript cookies. path is not set

本文关键字:路径 设置 cookie Javascript      更新时间:2023-09-26

我已经编写了以下用于设置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','');

$$COOKIE保存域设置的所有COOKIE。。scripts是我根目录中的一个目录。。创建后,我在谷歌chrome中查看了cookie,但路径没有设置。它被设置为my/目录。为什么会发生这种情况

看来

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

应该是

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