Cookie笔记

2017-08-18  本文已影响0人  竹庭一米七

浏览器对于能够保存的cookie数量有所限制,通常是几百个或者多一点。
一般情况下,每个域名20个cookie是允许的,而每个域最多能保存4KB的cookie。

document.cookie

每个cookie基本上就是一个由成对的名称和值组成的字符串,像:

suername=sam

每个cookie是以分号分隔的:

suername=sam;location=USA;status=fullmember;

编写cookie

document.cookie="username=sam;expires=15/16/2013 00:00:00";

使用JavaScript的Date对象可以避免手工输入日期和时间格式:

var cookieDate = new Date (2013, 05, 15);
document.cookie = "username=sam;expires=" + cookieDate.toUTCString();

在实际编码的时候应该用escape()函数来确保cookie赋值时不会有非法字符:

var cookieDate  = new Date (2013, 05, 15);
var user = "Sam Jones";
document.cookie = "username=" + escape(user) + ";expires=" + cookieDate.toUTCString();

读取cookie

function getCookie(name) {
    var nameEquals = name + "=";
    var crumbs = document.cookie.split(";");
    for(var i = 0; i < crumbs.length; i++) {
        var crumb = crumbs[i];
        if (crumb,indexOf(nameEquals) == 0) {
            return unescape(crumb.substring(nameEquals.length,crumbs.length));
        }
    }
    return null;
}

删除cookie

只需要把她失效日期设置成今天以前的日期,浏览器就会认为它已经失效了,从而删除它。

function deleteCookie(name) {
    createCookie(name, " ", -1);
}
上一篇 下一篇

猜你喜欢

热点阅读