cookie之一二

cookie,可以达到真正全局变量的要求。

    使用escape()编码后,在取出值以后需要使用unescape()进行解码

    如果在某个页面创建了一个cookie,那么该页面所在目录中的其他页面也可以访问该cookie。如果这个目录下还有子目录,则在子目录中也可以访问。 例如在www.xxxx.com/html/a.html中所创建的cookie,可以被www.xxxx.com/html/b.html或 www.xxx.com/ html/ some/c.html所访问,但不能被www.xxxx.com/d.html访问。

1.添加一个cookie:addCookie(name,value,expiresHours)
该函数接收3个参数:cookie名称,cookie值,以及在多少小时后过期。这里约定expiresHours为0时不设定过期时间,即当浏览器关闭时cookie自动消失。该函数实现如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script language="JavaScript"type="text/javascript">
<!--
functionaddCookie(name,value,expiresHours){
varcookieString=name+"="+escape(value);
//判断是否设置过期时间
if(expiresHours>0){
vardate=newDate();
date.setTime(date.getTime+expiresHours*3600*1000);
cookieString=cookieString+"; expires="+date.toGMTString();
}
document.cookie=cookieString;
}
//-->
</script>

2.获取指定名称的cookie值:getCookie(name)
该函数返回名称为name的cookie值,如果不存在则返回空,其实现如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
<script language="JavaScript"type="text/javascript">
<!--
functiongetCookie(name){
varstrCookie=document.cookie;
vararrCookie=strCookie.split("; ");
for(vari=0;i<arrCookie.length;i++){
vararr=arrCookie[i].split("=");
if(arr[0]==name)returnarr[1];
}
return"";
}
//-->
</script>

3.删除指定名称的cookie:deleteCookie(name)
该函数可以删除指定名称的cookie,其实现如下:

1
2
3
4
5
6
7
8
9
<script language="JavaScript"type="text/javascript">
<!--
functiondeleteCookie(name){
vardate=newDate();
date.setTime(date.getTime()-10000);
document.cookie=name+"=v; expires="+date.toGMTString();
}
//-->
</script>


你可能感兴趣的:(cookie之一二)