Cookie基础


周末百度笔试,答得题都会,就是不仔细不心细,提前一个小时交卷子,想起来就已经晚了。问了一个cookie的问题,我SB的蒙住了,于是乎,似乎是跪掉了,回来后总结了下Cooke的相关问题。
###获取cookie
javascript中对cookie的接口操作方法就是利用document.cookie来进行的,获取cookie的方法如下。

var str = document.cookie;

 


需要注意的是,cookie保存到字符串是经过URL编码的,所以使用时需要进行解码。

###创建cookie
与获取cookie方法相同,创建cookie依旧使用document.cookie,下面举一个简单的例子。

document.cookie="name1=value1;name2=value2";

 



如例子中所看到的,cookie的格式是一个个名值对组成,并由分号分隔开。
###删除cookie
javascript中并没有直接删除cookie的方法,所以只能通过从新设置cookie,并将cookie的失效时间调整为已经过去的事件,从而达到删除cookie的方法。
以下是高程三中的cookie方法整合:


var CookieUtil = {



    get: function (name){//获取cookie

        var cookieName = encodeURIComponent(name) + "=",

            cookieStart = document.cookie.indexOf(cookieName),

            cookieValue = null,

            cookieEnd;

            

        if (cookieStart > -1){

            cookieEnd = document.cookie.indexOf(";", cookieStart);

            if (cookieEnd == -1){

                cookieEnd = document.cookie.length;

            }

            cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));

        }



        return cookieValue;

    },

    

    set: function (name, value, expires, path, domain, secure) {

      //设置cookie

        var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value);

    

        if (expires instanceof Date) {

            cookieText += "; expires=" + expires.toGMTString();

        }

    

        if (path) {

            cookieText += "; path=" + path;

        }

    

        if (domain) {

            cookieText += "; domain=" + domain;

        }

    

        if (secure) {

            cookieText += "; secure";

        }

    

        document.cookie = cookieText;

    },

    

    unset: function (name, path, domain, secure){

    //删除cookie通过重新设置cookie,并将失效日期设置为过去的时间。

        this.set(name, "", new Date(0), path, domain, secure);

    }



};

 


以上就是cookie的小部分内容,学习需要谨慎,基础至关重要。

你可能感兴趣的:(cookie)