cookie封装
虽然现在HTML5胜行,localStorage已远远的胜过cookie,但是在天朝,ie6(基本已淘汰),ie7还需要考虑的前提下,cookie还是有用武之地的。
一直都有到cookie,也有了解过cookie的原理,工作中也一直不能忽视工期,基本使用cookie就用jquery.cookie.js解决啦,今天正好有时间就封装下原生的cookie函数。
代码如下(有详细注释):
/设置cookie function setCookie(name,value,d){ var dateo=new Date(),//获取当前时间对象 day=dateo.getDate();//获取当前的日期-1值 dateo.setDate(day+d);//修改当前值为d天后 document.cookie=name+"="+encodeURI(value)+"; expires="+dateo.toGMTString();//设置cookie,expires为过期日期,设置的格式应该是"name=value; expires=过期日期" } //获取cookie function getCookie(name){ var cookiestr=document.cookie,//获取cookie,格式应该为"name=value; name0=value0" cookiearr0=cookiestr.split("; "),//以"; "来分构字符串成数组 ["name=value","name0=value0"] cookiearr1=[]; for(var i=0;i<cookiearr0.length;i++){ cookiearr1=cookiearr0[i].split("=");//以"="分构字符串为数组,["name","value"] if(cookiearr1[0]==name){//如果找到相同名称的cookie,返回它的值 return decodeURI(cookiearr1[1]); } } return "";//如果没有找到相同名的cookir,返回空 } //删除cookie function removeCookie(name){ setCookie(name,"",-1);//把过期时间设为昨天,即删除了当前cookie }
测试代码如下(本地用火狐,chrome本地不支持操作cookie,IE下查看不方便):
setCookie("test","你是谁?",1); console.log(getCookie("test")); setTimeout(function(){ removeCookie("test"); },10000) setTimeout(function(){ console.log(getCookie("test")); },11000)
好好学习!天天向上!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步