cookie存储

来源:互联网 发布:淘宝四大化妆刷店 编辑:程序博客网 时间:2024/05/02 06:48

检测浏览器是支持cookie

cookie是以很小的文件来保存数据,常用于: 会员登录、购物车等

alert(typeof document.cookie)

cookie的组成

name=value
完整的形式:
name=value;[expires=date];[path=path];[domian=somewhere.com];[secure]

写入cookie

    document.cookie="user="+encodeURIComponent("赵文娟");

读取cookie

decodeURIComponent(document.cookie)

Cookie的过期方式有两种

1、关闭浏览器 cookie获过期
2、到了cookie的设置的过期的时间

    document.cookie="user="+encodeURIComponent("赵文娟")+";expires"+new Date(0);

secure的使用,必须是https可以访问

      document.cookie="user="+encodeURIComponent("赵文娟")+";secure";

封装对cookie的操作

封装设置cookie的函数

function  setCookie(name,value,expires,path,domain,secure) {   var cookieText=encodeURIComponent(name)+'='+encodeURIComponent(value);    if(expires instanceof Date){        cookieText+=";expires="+expires;    }    if(path){        cookieText+=";path="+path;    }    if(domain){        cookieText+=";domain="+domain;    }    if(secure){        cookieText+=";secure";    }    document.cookie=cookieText;}function setCookieDate(day) {    var date;    if(typeof day=="number"&&day>0){         date=new Date();        date.setDate(date.getDate()+day);    }    else{        console.log("输入的日期格式有错误")    }    return date;}

获取cookie的函数

function getCookie(name){    var cookieName=encodeURIComponent(name)+'=';    var cookieStart=document.cookie.indexOf(cookieName);    var cookValue=null;      if(cookieStart>-1){          var cookieEnd=document.cookie.indexOf(";",cookieStart);          if(cookieEnd==-1){              cookieEnd=document.cookie.length;          }          cookValue=decodeURIComponent(document.cookie.substring(cookieStart+cookieName.length,cookieEnd));      }    return cookValue;}

对上面来个函数的使用

  setCookie('user','赵文娟',setCookieDate(7));    setCookie('url','yc60.com',setCookieDate(7));    setCookie('email','yc60.com@email',setCookieDate(7));   alert(getCookie('user')) ;    console.log(document.cookie);

html5支持的sessionStorge和localStorge

  sessionStorage.setItem("name","赵文娟");    alert(sessionStorage.getItem("name"));

但是关闭了浏览器以后sessionStorage存储的内容就没有了
删除sessionStorge的内容

sessionStorage.removeItem("name");

localStorge和sessionStorage的使用方法相同,但是localStorge在关闭了浏览器以后不会删除

0 0