37js学习第二十一天缓存cookie

// 01JavaScript的cookie

    // - cookie是用来储存web页面的用户信息。
    // - 由于HTTP是一种无状态的协议,服务器单从网络链接上是无法知道客户信息的。这个时候服务器会给客户端(浏览器)颁发一个cookie,用来确认用户的信息。

    // 获取   document.cookie
    console.log(document.cookie);


    // 设置   
    // document.cookie="name=value;domain=.domain.com;path=/;expires=;"


    document.cookie="name=张三";
    document.cookie="age=20";
    // 设置有效期
    // document.cookie="name=张三;expires=Mon May 09 2022 10:32:51";

    // 设置之前的时间  删除
    // document.cookie="name=张三;expires=Mon May 08 2022 10:32:51";
    


    // name:一个唯一确定的cookie名称。通常cookie名称不区分大小写
    // value:存储在cookie中的字符串值。最好为cookie的name和value进行url编码
    // domain:cookie对哪个域是有效的  域名 www.baidu.com
    // path:表示这个cookie影响到的路径,浏览器会根据这个配置项,向指定的域中匹配的路径发送cookie
    // expires:失效时间  表示cookie何时被删除(停止向服务器发送cookie) 时间值是GMT格式的  设置过去的时间,直接删除  默认为会话缓存(关闭浏览器删除)
    // max-age:与expires效果相同  max-age优先级高于expires
    // httpOnly:告知浏览器不允许通过脚本document.cookie去更改这个值,同样这个值在document.cookie中也不可见。但在http请求者仍然会携带这个cookie。注意这个值虽然在脚本中不可获取,但仍然在浏览器安装目录中以文件形式存在。这项设置通常在服务器端设置。
    // secure:安全标志,指定后,只有在使用SSL链接时才能发送到服务器,如果是http链接则不会

    

  // 02cookie的方法封装

    // - cookie是用来储存web页面的用户信息。
    // - 由于HTTP是一种无状态的协议,服务器单从网络链接上是无法知道客户信息的。这个时候服务器会给客户端(浏览器)颁发一个cookie,用来确认用户的信息。


    // 封装
    // 1.相同部分  不做处理
    // 2.不同部分  使用参数表示


    // 获取   document.cookie
    console.log(document.cookie);

    function getCookie(key) {
        // age=20; name2=猪八戒; name3=沙僧; name=孙悟空

        // 转换为数组
        var arr = document.cookie.split("; ");
        // console.log(arr);

        // 将arr进行遍历
        for (var i = 0; i < arr.length; i++) {
            // console.log(arr[i])
            // if(arr[i].match(key)!=null)
            // if(arr[i].search(key)!=-1){
            //     console.log(arr[i].substring(arr[i].indexOf("=")+1))
            // }

            var arrItem = arr[i].split("=");
            // console.log(arrItem);
            if (arrItem[0] == key) {
                console.log(arrItem[1])
            }

        }
    }
    // getCookie("name2");


    // 设置 
    // document.cookie="name=value;expires=time";
    function setCookie(name, value, time) {
        var oDate = new Date();
        oDate.setDate(oDate.getDate() + time); //设置过去时间 以天计数
        // document.cookie=name+"="+value+";expires="+time;
        document.cookie = `${name}=${value};expires=${oDate}`;
    }

    setCookie("name", "孙悟空", 30);
    setCookie("name2", "猪八戒", 20);
    setCookie("name3", "沙僧", 10);


    // 删除  设置失效时间为之前的时间
    function removeCookie(key) {
        setCookie(key,"",-1)
    }

    // 清空
    function clearCookie(){
        var arr = document.cookie.split("; ");
        for(var i=0;i<arr.length;i++){
            var arrItem = arr[i].split("=");
            setCookie(arrItem[0],"",-1)
            // console.log(arrItem)
        }
    }
    // clearCookie()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>03sessionStorage</title>
</head>
<body>
    <h1>03sessionStorage</h1>
    <button>setItem()</button>
    <button>getItem()</button>
    <button>removeItem()</button>
    <button>clear()</button>
</body>
<script>
    // 03sessionStorage   会话缓存
    // 缓存时间为当前tab页面浏览器打开期间  关闭清除

    // window.sessionStorage 对象

    // 属性
    // length  缓存数据的条数

    console.log(window.sessionStorage.length);

    var aBtns=document.getElementsByTagName("button");

    // 设置  sessionStorage.setItem("key","value");
    aBtns[0].οnclick=function(){
        sessionStorage.setItem("name","孙悟空");
    }

    // 获取  sessionStorage.getItem("key")
    aBtns[1].οnclick=function(){
        console.log(sessionStorage.getItem("name"))
    }
    
    // 删除  sessionStorage.removeItem("key")
    aBtns[2].οnclick=function(){
        sessionStorage.removeItem("name")
    }

    // 清空  sessionStorage.clear()
    aBtns[3].οnclick=function(){
        sessionStorage.clear()
    }


</script>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>04localStorage</title>
</head>
<body>
    <h1>04localStorage</h1>
    <button>setItem()</button>
    <button>getItem()</button>
    <button>removeItem()</button>
    <button>clear()</button>
</body>
<script>
    // 04localStorage   本地缓存
    // 缓存时间为永久  除非手动删除

    // window.localStorage 对象

    // 属性
    // length  缓存数据的条数

    console.log(window.localStorage.length);

    var aBtns=document.getElementsByTagName("button");

    // 设置  localStorage.setItem("key","value");
    aBtns[0].οnclick=function(){
        localStorage.setItem("name","孙悟空");
    }

    // 获取  localStorage.getItem("key")
    aBtns[1].οnclick=function(){
        console.log(localStorage.getItem("name"))
    }
    
    // 删除  localStorage.removeItem("key")
    aBtns[2].οnclick=function(){
        localStorage.removeItem("name")
    }

    // 清空  localStorage.clear()
    aBtns[3].οnclick=function(){
        localStorage.clear()
    }


</script>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值