• Cookie常用操作以及属性


    概述

    最近项目要用到cookie存储部分用户信息;研究了一下做一下分享

    设置cookie存储

    
    document.cookie = 'userName=fengkaicahng';
        
    
    • 注意 设置cookie一次只能存储一条
    • cookie可以多次设置 key相同不会重新赋值而是会新建一条cookie

    读取cookie

    
    var allCookies = document.cookie;
    
    //一次读取所有cookie 字符串形式
    //所以一般我们还要做一次转换
    
    var cookiesArray = document.cookie.split(';');
    
     console.log(cookiesArray);
    

    cookie的几个属性

    • value (必须)一个键值对,用来指定cookie的值
    
    document.cookie = 'userName=fengkaicahng';
    
    
    • expires 指定Cookie过期时间;格式采用Date.toUTCString()
    
     var day = new Date();
     day.setTime(day.getTime()+(1*24*60*60*1000));
    
    //设置一天的有效期
    //如果不设置; 默认时间是当前会话窗口关闭即失效
    
    document.cookie = 'userName=fengkaicahng;expires="+day+"';
    
    
    • domain 指定发送Cookie的域名
    
     var day = new Date();
     day.setTime(day.getTime()+(1*24*60*60*1000));
    
    //只有在该域名下才发送cookie,
    //如果不设置; 默认是设置cookie时的域名
    //以下配置会在fengkaichang.com 的所有子域名下生效
    
    document.cookie = 'userName=fengkaicahng;expires='+day+';domain=fengkaichang.com;
    
    
    • path 指定Cookie的路径
    
     var day = new Date();
     day.setTime(day.getTime()+(1*24*60*60*1000));
    
    //只有这个路径和发送到服务器的路径相同才发送cookie 可以直接配置/ 从根目录下匹配  这个匹配并不是绝对的,
    //如果不设置; 默认是请求该cookie时的路径
    //以下配置会在fengkaichang.com 的所有请求路径下生效
    //注意 path生效的前提是domain匹配成功,否则都是扯淡
    
    
    document.cookie = 'userName=fengkaicahng;expires='+day+';domain=fengkaichang.com;path=/'
    
    
    • secure 指定Cookie只能在加密协议HTTPS下发送到服务器
    
     var day = new Date();
     day.setTime(day.getTime()+(1*24*60*60*1000));
    
    //这个属性的值是一个布尔值
    //如果这个通信协议是HTTPS那么协议自动打开
    //如果手动设置 一下配置不会在普通HTTP协议下发送
    
    document.cookie = 'userName=fengkaicahng;expires='+day+';domain=fengkaichang.com;path=/;secure=true'
    
    

    更多内容请关注 冯凯昌博客 www.fengkaichang

  • 相关阅读:
    使用PyDNS查询
    C#结构体
    使用CreateProcess函数运行其他程序
    运算符重载
    C#学习抽象类和方法
    sed命令使用
    Python For Delphi 示例
    建立Socket
    使用 lambda 函数
    C#接口实现
  • 原文地址:https://www.cnblogs.com/fengkaichang/p/7485943.html
Copyright © 2020-2023  润新知