码迷,mamicode.com
首页 > 其他好文 > 详细

设置cookie,删除cookie,读取cookie

时间:2018-02-27 12:45:38      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:exp   时间   var   cti   设置   页面   pos   状态   bst   

1.首先来说下cookie的作用

我们在浏览器中,经常涉及到数据的交换,比如你登录邮箱,登录一个页面。我们经常会在此时设置30天内记住我,或者自动登录选项。那么它们是怎么记录信息的呢,答案就是今天的主角cookie了,Cookie是由HTTP服务器设置的,保存在浏览器中,但HTTP协议是一种无状态协议,在数据交换完毕后,服务器端和客户端的链接就会关闭,每次交换数据都需要建立新的链接。

2.cookie的声明周期会随着浏览器的关闭而销毁!

持久cookie则是设定了它的生命周期expires,此时,cookie像商品一样,有个保质期,关闭浏览器之后,它不会销毁,直到设定的过期时间。对于持久cookie,可以在同一个浏览器中传递数据,比如,你在打开一个淘宝页面登陆后,你在点开一个商品页面,依然是登录状态,即便你关闭了浏览器,再次开启浏览器,依然会是登录状态。这就是因为cookie自动将数据传送到服务器端,在反馈回来的结果。持久cookie就像是我们办理了一张积分卡,即便离开,信息一直保留,直到时间到期,信息销毁。

 

设置cookie

function setCookie(name,value,time){
     var strsec = getsec(time);
    var exp = new Date();
    exp.setTime(exp.getTime() + strsec*1);
    document.cookie = name + "="+ escape (value) + ";expires=" +         
    exp.toGMTString();
}

function getsec(str){
  var str1=str.substring(1,str.length)*1;
  var str2=str.substring(0,1);
  if (str2=="s"){
    return str1*1000;
  }else if (str2=="h"){
    return str1*60*60*1000;
  }else if (str2=="d"){
    return str1*24*60*60*1000;
  }
  
  //这是有设定过期时间的使用示例:
  //s20是代表20秒
  //h是指小时,如12小时则是:h12
  //d是天数,30天则:d30
};
 
示例: setCookie("name","hayden","s20")

删除cookie

function delCookie(name){
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
    if(cval!=null)
    document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

 获取cookie

function getCookie(name){
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
    if(arr=document.cookie.match(reg)){
        return unescape(arr[2]);
    }else{
        return null;
    }
}

  

设置cookie,删除cookie,读取cookie

标签:exp   时间   var   cti   设置   页面   pos   状态   bst   

原文地址:https://www.cnblogs.com/Enid0044/p/8478153.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!