Cookie笔记

浏览器对于能够保存的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);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HTTP Cookie,通常直接叫做cookie,最初是在客户端用于存储会话信息的。该标准要求服务器对任意HTTP...
    公子七阅读 585评论 0 2
  • HTTP cookies,通常称之为“cookie”,已经存在很长时间了,但是仍然没有被充分理解。首要问题是存在许...
    NoFacePeace阅读 487评论 0 1
  • 什么是 Cookie “cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就...
    恩德_b0c2阅读 437评论 0 3
  • 作者:晚晴幽草轩www.jeffjade.com/2016/10/31/115-summary-of-cookie...
    饥人谷_Dylan阅读 1,232评论 0 51
  • 慢慢66阅读 229评论 0 0