background image

            i = document.cookie.indexOf(" ", i) + 1;
            if(i == 0) break;
        }
        return;
    }
    // store cookie value with optional details as needed
    function setCookie(name, value, expires, path, domain, secure)
    {
        document.cookie = name + "=" + escape(value) +
            ((expires) ? "; expires=" + expires : "") +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            ((secure) ? "; secure" : "");
    }

// remove the cookie by setting ancient expiration date

    function deleteCookie(name,path,domain) 
    {
        if(getCookie(name))
        {
            document.cookie = name + "=" +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                "; expires=Thu, 01-Jan-70 00:00:01 GMT";
        }
    }   

使用

getCookie(name)函数来读取 cookie 中保存的值,参数 name 为 cookie 项的名称。如

果该

cookie 项不存在则返回一个空字符串。使用 setCookie()函数来保存 cookie 项的值,其中

第一、二两个参数分别为

cookie 项的名称和值。如果想为其设置一个过期时间,那么就需要

设置第三个参数,这里需要通过

getExpDate()获得一个正确格式的参数。最后,使用

deleteCookie()来删除一个已存在的 cookie 项,实际上是通过让该项过期。
    cookie 将数据保存在客户端。页面的脚本只能读取所在域和服务器的 cookie 值,如果域内
有多个服务器,那么需要设置第五个参数,以指定服务器。浏览器的容量一般限定为每服务

20 个 name/value 对,每个 cookie 项不超过 4000 个字符,更现实点,单个 cookie 项应少

2000 字符,也就是说不要用 cookie 在客户端保存大容量数据。    

不同的浏览器保存

cookie 的方式也有所不同。IE 为每个域的 cookie 建立一个文本文件,

Netscape 则将所有的 cookie 存储在同一个文本文件中。   

注意:

cookie 存放在客户端,所以会受到浏览器设置的影响,比如用户可能会禁用

cookie。要检测浏览器是否支持 cookie,使用属性 navigator.cookieEnabled 来判断。