<script>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>if(arr != null) return unescape(arr[2]); return null;这句话如何理解删除cookie这段代码如何生效的,为什么exp.getTime() - 1就能删除?如何在文件夹中生成cookie文件,这个代码可以吗?

解决方案 »

  1.   

    if(arr != null) return unescape(arr[2]); return null;这句话如何理解
    ------
    因为存储的时候用escape编码过了,需要要解码获取实际的内容
    删除cookie这段代码如何生效的,为什么exp.getTime() - 1就能删除?
    ---------
    exp.setTime(exp.getTime() - 1);就是比当前时间少1ms,然后cookie有效期设置为这个时间,由于小于当前时间,自然失效删除掉了
    如何在文件夹中生成cookie文件,这个代码可以吗? 
    --
    不知道要表达什么,cookie是浏览器管理的,不能再web目录下生成,也不能指定保存到其他地方
      

  2.   

    不知道要表达什么比如这个目录下的
    C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files
    的Cookie:[email protected]/这个东西是由这段代码生成的吗?还有如果不设置cookie的有效时间,那个exp.getTime() - 1还会生效吗?
      

  3.   

    把expires设为当前时间之前那不就是告诉浏览器这个cookie已经过期了,浏览器自然就会去删掉喽。
    如果不设应该就变成一个session cookie了,浏览器关闭cookie就过期了。
      

  4.   

    不知道要表达什么比如这个目录下的
    C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files
    的Cookie:[email protected]/这个东西是由这段代码生成的吗?还有如果不设置cookie的有效时间,那个exp.getTime() - 1还会生效吗?
    你是说设置cookie时不加有效期,然后删除cookie还会有效吗?
    当然有,只要是当前时间以前不出问题的话cookie肯定可以删掉的。
      

  5.   

    不知道要表达什么比如这个目录下的
    C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files
    的Cookie:[email protected]/这个东西是由这段代码生成的吗?还有如果不设置cookie的有效时间,那个exp.getTime() - 1还会生效吗?
    由浏览器生成,由js或者服务器发送的响应头告诉浏览器执行cookie生成操作(需要设置有效时间才会生成cookie文件)。不设置cookie有效时间为内存cookie,浏览器关闭自动删除。内存cookie一般我是设置成其他的值,如有效值为1,设置为-1什么的,使cookie值判断无效,设置过期时间有些时候删除不掉内存cookie