现在要用JS写一个cookie,以前没写过,我看了下网上的资料,自己写了个
   function addcookie(eywaId,value,expires){
         var data=new Date(); 
var expiresdays=15;
data.setTime(data.getTime()+expiresdays*24*60*60*1000);
var value=Math.floor(Math.random()*1000000000);
var eywaId=eywaId+"="+escape(value);
document.cookie=eywaId+";expires="+data.toGMTString();
    }
  本来这是要在cookie中插入一个Id标识符的,可我看了下cookie文件,并没有出现这个ID,要怎样才能完成这个功能,请高手帮忙解决下

解决方案 »

  1.   

    function setCookie(c_name,value,expiredays)
    {
    var exdate=new Date()
    exdate.setDate(exdate.getDate()+expiredays)
    document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
    }
    转自:w3school,
    唯一的区别就是你的过期时间设置。
      

  2.   

    <script>//写cookies函数 作者:翟振凯
    function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
    {
        var Days = 30; //此 cookie 将被保存 30 天
        var exp  = new Date();    //new Date("December 31, 9998");
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }
    function getCookie(name)//取cookies函数        
    {
        var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
         if(arr != null) return unescape(arr[2]); return null;}
    function delCookie(name)//删除cookie
    {
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        var cval=getCookie(name);
        if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
    }SetCookie ("xiaoqi", "3")
    alert(getCookie('xiaoqi'));
    </script>
      

  3.   

    我现在就是想在用户刚刚进入一个网站的时候,就给用户一个ID,并保存在cookie文件中。对于这个过程不是很了解,希望有人来帮忙解答下
      

  4.   

    cookie
      

  5.   


    x.util.Cookie = (function(){
    function set(name, value, expires, domain, path, secure){
    if(!expires){
    expires = new Date();
    expires.setTime(new Date().getTime() + 1 * (24 * 60 * 60 * 1000));
    }
    var s = name + '=' + encodeURIComponent(value) +
            ';expires=' + expires.toGMTString() + 
            ';path=' + (path ? path : '/');
                 
    if(domain)
    s += ';domain=' + domain;
    if(secure)
    s += ';secure';
    document.cookie = s;
    }

    function get(name){
    var r = new RegExp('(?:;)?' + name + '=([^;]*);?');
    r.test(document.cookie);
    return decodeURIComponent(RegExp.$1);
    }

    function remove(name, domain, path){
    var expire = new Date();
    expire.setTime(0); 
      var s = name + '=;expires=Thu, 01-Jan-2010 00:00:01 GMT' + 
            ';path=' + (path ? path : '/');

    if(domain)
    s += ';domain=' + domain;
     console.log(s)
    document.cookie = s;
    }

    return {
    set: set,
    get: get,
    remove: remove
    };
    })();
    设置cookie关键是看上面的set方法。开始搞cookie的时候,我也是经常搞不清楚。因为cookie作为document的一个属性存在,确实有点不友好,操作也麻烦,还要自己拼接字符串,好不容把cookie的字符串拼接好了,最后一查看document.cookie,竟然是空的。操作cookie需要几个注意的地方, 首先需要设置 expires属性, expires的单位是毫秒,1楼的代码中对这个属性的设置应该没有问题。第二是cookie不可以跨域访问,Javascript也是不能跨域的。所有在那个域下设置cookie的,也应该在相同的域下访问。加入web应用的URL是localhost的话,set与get cookie都要在localhost下操作。第三最重要的是path属性,设置cookie与访问cookie的路径应保持相同,比如:
    http://localhost:8080/setCookie.htm中是设置cookie的js代码,在这个页面中是不能访问到那个cookie的
    http://localhost:8080/cmd/getCookie.htm而在这个页面中可以
    http://localhost:8080/getCookie.htm也就是说读cookie与写cookie的页面需要在相同的路径下面。可能还会存在其它的因素导致各位同学操作cookie的失败,但是我跟人的经验觉得,上面几点是经常导致错误的地方。
      

  6.   

    用4楼的方法可以,不过又出现了一个问题,我在set的时候,系统不是存到我cookie文件中的,而且另外建了个login/文件,存到这里面了。等于说现在我有2个cookie文件:一个是Cookie:[email protected]/还有一个是login/。这是原因造成的啊
       
      

  7.   

    function delCookie(name)//删除cookie
    {
      var exp = new Date();
      exp.setTime(exp.getTime() - 1);
      var cval=getCookie(name);
      if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
    }删除cookie不好用
      

  8.   

    想要的效果:不是触发事件,只要用户进入了我这个页面,页面在响应用户的请求的时候,就给用户的cookie中存一个ID
      

  9.   

    现在我进入一个页面,生成了2个cookie文件,一个是系统给我的生成的(格式是正确的),还有一个是我通过触发事件生成的(格式为login/),那我要怎么才能把信息从login/中读取出来了,如果保存到login/中,每次我访问一个页面的时候,系统是不是都不会去检索这个"cookie"文件