window.cookie
2015-10-30 14:01 孤独大兔子 阅读(3870) 评论(0) 编辑 收藏 举报本地测试cookie用火狐来测试
首先cookie是document上的一个属性。
先弹出一个cookie
alert(document.cookie); //弹出是空的
设置cookie,格式是有一定要求的,格式是,名字=值 这样的格式
所以设置的时候,这样设置
document.cookie="user=jack";
如果要添加两条,不会被覆盖,中间是用 ; (分号+空格)来链接的
document.cookie="user=jack";
document.cookie="pass=123456";
cookie信息可在隐私中查看
但是如果不设置了,把这两句注释了的话,就会继续弹出空
//document.cookie="user=jack"; //document.cookie="pass=123456"; alert(document.cookie);
是因为没有指定过期时间,到浏览器关闭,就没了
设置过期时间
var oDate=new Date(); oDate.setDate(oDate.getDate()+14); //为了得出14天以后是几号 document.cookie="user=jack;expires="+oDate; document.cookie="pass=123456"; alert(document.cookie);
这样的话,就算注释了,再重新打开浏览器也会弹出user的cookie
过期时间,也产生了变化
为了简便,封装一下cookie
//设置cookie function setCookie(name,value,iDay){ var oDate=new Date(); oDate.setDate(oDate.getDate()+iDay); //iDay是几天过期 document.cookie=name+'='+value+';expires='+oDate; } //读取cookie function getCookie(name){ var arr=document.cookie.split("; "); for(var i=0;i<arr.length;i++){ var arr2=arr[i].split('='); if(arr2[0]==name){ return arr2[1]; } } return ''; } //删除cookie function removeCookie(name){ setCookie(name,1,-1); //-1天过期 }
//调用
setCookie("user","lynn",13);
setCookie("password","123456",365);
setCookie("words","book",365);
alert(document.cookie);
removeCookie("password");
alert(document.cookie);
第一个小例子
if(getCookie("pop")=="open"){ alert("我是第N次打开"); }else{ alert("我是第一次打开"); setCookie("pop","open",1); //1天以后过期 }
第二个小例子
<form id="form1" action=""> 用户名:<input type="text" name="user" /><br /> 密码:<input type="password" name="pass" /><br /> <input type="submit" value="登陆" /> </form> <script type="text/javascript"> window.onload=function(){ var oForm=document.getElementById('form1'), oUser=document.getElementsByName('user')[0]; oForm.onsubmit=function(){ setCookie('user',oUser.value,14) } oUser.value=getCookie('user'); } </script>