cookie的取存

--------------运用原生js设置cookie--------------

setCookie('name', 1111, 5);

setCookie('name1', 22222, 5);

console.log(getCookie('name'));

console.log(getAllCookie());

delCookie('name1');

clearCookie('undefined')//清除未定义的名的cookie

/*set cookie*/

function setCookie(name, value, Days){

     if(Days ==null|| Days ==''){

          Days = 300;

}

        varexp  =newDate();

        exp.setTime(exp.getTime() + Days*24*60*60*1000);

        document.cookie = name +"="+ escape (value) +"; path=/;expires="+ exp.toGMTString();

        //document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();

}

/*get cookie*/

function  getCookie(name){
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
    if(arr=document.cookie.match(reg)){
        //unescape() 函数可对通过 escape() 编码的字符串进行解码
        return unescape(arr[2]);
    }else{
        return null;
    }
};

/*get all cookie*/

functiongetAllCookie(){

    return document.cookie;

}

/* clear cookie*/

functionclearCookie(name){

    setCookie(name,'', -1);

}

/* del cookie*/

function delCookie(name){

 varexp =newDate();

  exp.setTime(exp.getTime() - 1);

varcval=getCookie(name);

    if(cval!=null){

        document.cookie= name +"="+cval+"; path=/;expires="+exp.toGMTString();

    }

}









--------------运用JQuery设置cookie--------------

首先引入jquery,jquery.cookie.js 的文件

if(ele==inputArray){

   $.cookie('inputValue',ele)

}else{

   $.cookie('newsinputValue',ele)

}

//通过jq的$.cookie来对值进行储存,第一个参数是给储存的值取得一个名字,方便后期取值,第二个参数是要储存的变量


1.新添加一个会话 cookie:

$.cookie('cookieName', 'cookieValue');

注:如果没有设置cookie的有效期,则cookie默认在浏览器关闭前都有效,故被称为"会话cookie(session cookie)"。

2.创建一个cookie并设置有效时间为7天:

$.cookie('cookieName', 'cookieValue', { expires: 7 });

注:当指明了cookie有效时间时,所创建的cookie被称为“持久 cookie (persistent cookie)”

3.创建一个cookie并设置cookie的有效路径:

$.cookie('cookieName', 'cookieValue', { expires: 7, path: '/' });

注:在默认情况下,只有设置 cookie的网页才能读取该 cookie。如果想让一个页面读取另一个页面设置的cookie,必须设置cookie的路径。cookie的路径用于设置能够读取 cookie的顶级目录。将这个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突) 。

4.读取cookie:

$.cookie('cookieName'); // 若cookie存在则返回'cookieValue'; 若cookie不存在则返回null

5.删除cookie:

把cookie的值设为null即可

$.cookie('the_cookie', null);


----------相关参数的解释---------------

1).expires: 365

定义cookie的有效时间,值可以是一个数字(从创建cookie时算起,以天为单位)或一个Date 对

象。如果省略,那么创建的cookie是会话cookie,将在用户退出浏览器时被删除。

2).path: '/'

默认情况:只有设置cookie的网页才能读取该cookie。

定义cookie的有效路径。默认情况下, 该参数的值为创建 cookie 的网页所在路径(标准浏览器的行为) 。

如果你想在整个网站中访问这个cookie需要这样设置有效路径:path: '/'。如果你想删除一个定义

了有效路径的 cookie,你需要在调用函数时包含这个路径:$.cookie('the_cookie', null,

{ path: '/' });。 domain: 'example.com'

默认值:创建 cookie的网页所拥有的域名。

3).secure: true

默认值:false。如果为true,cookie的传输需要使用安全协议(HTTPS)。

4).raw: true

默认值:false。

默认情况下,读取和写入 cookie 的时候自动进行编码和解码(使用encodeURIComponent 编码,

decodeURIComponent 解码)。要关闭这个功能设置 raw: true 即可。


你可能感兴趣的:(js)