window.cookie

时间:2023-03-09 23:07:50
window.cookie

本地测试cookie用火狐来测试

首先cookie是document上的一个属性。

先弹出一个cookie

alert(document.cookie);     //弹出是空的

设置cookie,格式是有一定要求的,格式是,名字=值 这样的格式

所以设置的时候,这样设置

document.cookie="user=jack";

如果要添加两条,不会被覆盖,中间是用 ; (分号+空格)来链接的

document.cookie="user=jack";
document.cookie="pass=123456";

window.cookie

cookie信息可在隐私中查看

window.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

window.cookie

window.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>