• cookie小总结


    cookie总结

    cookie

    在服务器的环境下,对数据的本地存储下面为一个小小的案例

    let d= new Date;
    d.setDate(d.getDate()+7);
    document.cookie="userName=jzm;expires="+d.toGMTString();

     

    cookie本身就是一串字符串,格式为键值对,常用在本地身份验证,作免登陆

    cookie的读取

    cookie的读取每次都是全部获取,所以在读取的时候需要自己解析cookie代码,获得需要的代码

    cookie删除

    cookie没法直接删除,但可以设置失效时间 ,将设置的时间设置为过去

    cookie的特殊点
    document.cookie="userName=zhang;expires="+date.toGMTString();

    这样的写法会给原键值对后面添加而不是覆盖

    添加与覆盖

    浏览器用cookie键名来区别cookie,添加不同名称的cookie会一直续在前一个cookie后,同名的cookie会被覆盖

    expires,path和domain

    expires指cookie失效时间

    path指保存的cookie可被访问的html路径

    domain表示主机指定可访问cookie的主机名。

    path:表示保存的 cookie数据在 那个路径下的html文件中可以访问默认为当前目录下的所有html及子目录下html

    path=/temp;  表示根目录下的temp路径
    domain=163.com;表示可被163.com域名访问
    expires=GMTString;失效时间的设置

    失效日期由date.toGMTString()方法获取

    中文和特殊字符处理

    escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串--把汉字变成百分号编码

    unescape()解码

     

    封装

    //添加(修改)cookie
    //参数:
    //
    //
    // 有效期(以天为单位)
    function saveCookie(key,value,daycount) {
        let d = new Date();
        d.setDate(d.getDate()+daycount);
        //escape:编码,把汉字变成百分号编码
        document.cookie = key+'='+escape(value)+';expires='+d.toGMTString();
    }
    //获取cookie
    //参数:
    //
    //返回值:键对应的值
    function getCookie(key){
        //unescape:解码:把百分号编码变成汉字
        let str= unescape(document.cookie);
    ​
        let arr = str.split("; ");
    ​
        for(let i in arr){
            if(arr[i].startsWith(key+"=")){
                return arr[i].split("=")[1];
            }
        }
    ​
        return null;
    }
    //删除cookie
    //参数:
    //
    function removeCookie(key){
        saveCookie(key,'byebye',-1) 
    }

     

     

  • 相关阅读:
    《人月神话》阅读笔记01
    第二次团队冲刺第八天
    第二次团队冲刺第七天
    第二次团队冲刺第六天
    找水王续
    团队第二次冲刺第五天
    第二次团队冲刺第四天
    原码, 反码, 补码 详解
    《用户故事与敏捷方法》阅读笔记06
    《用户故事与敏捷方法》阅读笔记05
  • 原文地址:https://www.cnblogs.com/baiyang2292/p/10839339.html
Copyright © 2020-2023  润新知