芭比龙

导航

cookie

简述什么是cookie?

1.cokie是浏览器访问服务器后,服务器传给浏览器的一段数据。

2.浏览器需要保存这段数据,不得轻易删除。

3.此后每次浏览器想访问服务器都必须带上这段数据。

 

cookie的属性?

set-cookie="name=value;damin=damin.com;path=/;expires=Sat,11 Jua 2020 10:02:02" GMT;HttpOnly"

name:唯一的cookie名称(必填)

damain:cookie对于哪一个域有效(必填)

path:表示这个cookie影响到的路径(非必填)

expires:失效时间,表示cookie何时应该被删除的时间戳(非必填)

max-age:与expeirs作用相同,用来告诉浏览器的cookie多久过期

 

cookie的作用?

①可用于判断用户是否是第一次访问

用户A访问了baidu.com,baidu.com的服务器就会给A返回一段数据(cookie),当A用户再次访问baidu.com时就会带上这段数据。

若是第一次访问就不会带有这段数据,以此来判断是否是第一次访问。

 

也可做为判断用户的身份,不同的用户访问同一个服务器,所返回的数据是不同,可以此来判断用户身份。

 

②历史记录   常用于购物车功能

当一个用户登陆后将商品加入购物车,cookie会被改写。

当第二次登陆时就可以看到商品还在购物车里。

 

cookie的使用?

添加cookie     键值对

document.cookie=“myCookie=hello”

读取cookie    读取cookie名

document.cookie=“myCookie”

修改cookie     添加cookie,cookie与将要修改的cookie相同,值不同

document.cookie=“myCoookie=world”

删除cookie      键cookie的值为空,失效时间为过去时间

var oDate=new Date();
oDate.setDate(oDate.getDate-7);
document.cookie=“myCookie=;expires=”+oDate

 

 

cookie的封装?

   设置cookie
function setCookie(key,value,lostTime,path){ if(arguments.length==2){ document.cookie=name+"="+value; }else if(arguments.length==3){ paramsType=typeof(arguments[2]); if(paramsType===number){ document.cookie=name+"="+value";expires="+oDate }else{ document.cookie=name+"="+value+";path"+arguments[2] } }else{ var oDate=new Date(); oDate.setDate(oDate.getDate()+lostTime); document.cookie=name+"="+value+";expires="+oDate+";path="+path } }

 

获取cookie
 function getCookie(name){
        var str=document.cookie;
        var arr=str.split(";");
        for(let i=0;i<arr.length;i++){
            // console.log(arr)
            var arr2=arr[i].split("=");
            if(arr2[0]===name){
                return arr2[1]
            }
            return '';
        }

    }
删除cookie
 function removeCookie(name){
        setCookie(name,1,-1)
    }
替换cookie

    function replaceCookie(name,value){
        
        setCookie(name,value)
    }

测试:

设置cookie'

setCookie("maCookie","helloworld","0","/")

删除cookie

removeCookie("myCookie");
若之前设置了path,此处删除时也要将path删除

获取cookie

getCookie("myCookie")

替换cookie

replaceCookie("myCookie","hello")

 

 

 

 

expires

posted on 2020-09-10 11:06  芭比龙  阅读(206)  评论(0编辑  收藏  举报