• cookie操作:设置cookie、读取cookie、删除cookie


    一、设置cookie

    function setCookie(name, value){
        Days = 1; 
        var exp = new Date(); 
        exp.setTime(exp.getTime() + Days*24*60*60*1000); 
    
        var domain = window.location.host;
        var domains = domain.split('.');
    
        if (domains.length === 3){
            domains = domains.slice(1,3);
            domain = '.' + domains.join('.');
            document.cookie = name + "=" + escape (value) + "; expires=" + exp.toGMTString() + ";path=/;domain="+domain;
        }else{
            domain = domain;
            document.cookie = name + "="+ escape (value); 
        }
    }

    二、读取cookie

    function getCookie(name){
       var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
       if(arr=document.cookie.match(reg))
          return unescape(arr[2]);
       else
          return null;
    }
    注解:1、例如name=jack;password=123
         2、获取值:var pwd = getCookie(password);//pwd值为123

    三、删除cookie

    function DelCookie(name) {
        var domain = window.localhost.host;//获取当前页面域名
        var domainArr = domain.split('.');
        var exp = new Date();
        exp.setTime(exp.getTime() + (-1 * 24 * 60 * 60 * 1000));
        var cval = getCookie(name);
    
        if(domainArr.length === 3){
            domainArr = domainArr.slice(1,3);
            domain = '.'+domainArr.join('.');
        }
    
        document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString() + ";path=/;domain="+demain; 
    }
    
    function getCookie(name){
       var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
       if(arr=document.cookie.match(reg))
          return unescape(arr[2]);
       else
          return null;
    }
    注解:删除值:DelCookie(name);//删除用户名jack

    cookie属性

    cookie对象主要属性
    
    name:cookie的名称。
    
    value:cookie的值。
    
    domain:为可以访问此cookie的域名。
    (1)非顶级域名,如二级域名或者三级域名,设置的cookie的domain只能为顶级域名或者二级域名或者三级域名本身,不能设置其他二级域名的cookie,否则cookie无法生成。
    (2)顶级域名只能设置domain为顶级域名,不能设置为二级域名或者三级域名,否则cookie无法生成。
    (3)二级域名能读取设置了domain为顶级域名或者自身的cookie,不能读取其他二级域名domain的cookie。所以要想cookie在多个二级域名中共享,需要设置domain为顶级域名,这样就可以在所有二级域名里面或者到这个cookie的值了。
    顶级域名只能获取到domain设置为顶级域名的cookie,其他domain设置为二级域名的无法获取。
    
    path:为可以访问此cookie的页面路径。 比如domain是abc.com,path是/test,那么只有/test路径下的页面可以读取此cookie。
    
    expires/Max-Age :为此cookie超时时间。若设置其值为一个时间,那么当到达此时间后,此cookie失效。不设置的话默认值是Session,意思是cookie会和session一起失效。当浏览器关闭(不是浏览器标签页,而是整个浏览器) 后,此cookie失效。
    
    Size:cookie的大小。
    
    http:  cookie的httponly属性。若此属性为true,则只有在http请求头中会带有此cookie的信息,而不能通过document.cookie来访问此cookie。
    
    secure : 设置是否只能通过https来传递此条cookie
  • 相关阅读:
    参考教程 python 手动搭建ANN,并进行具体实现
    ubuntu18.04 ssh 问题
    Ubuntu18.04 启动后进不了界面 [ failed command: READ DMA ]
    Emacs 使用 markdown 模式
    linux 下 Emacs dired 模式 隐藏 dot file ".filename" 文件
    Ubuntu 16.04 安装后(使用旧的用户目录)登陆不进去
    AWS-SS配置过程
    Jupyter-notebook 导出时不显示Input[]代码
    [网络流24题] 方格取数问题 (最大权独立集---网络最小割)
    [网络流24题] 最长递增子序列 (最多不相交路径---网络最大流)
  • 原文地址:https://www.cnblogs.com/mangwusuozhi/p/9124776.html
Copyright © 2020-2023  润新知