Javascript cookie操作攻略

为了在Cookie中解决字符乱码问题,建议在保存Cookie前对Value值进行编码,可以由服务器后台写入Cookie,也可以在Browser端使用Javascript写入。
以下是在Browser端通过Javascript操作Cookie:(均为网络转载)

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

<script language="JavaScript" type="text/javascript">
<!--
function addCookie(name,value,expireHours){
var cookieString=name+"="+escape(value);
//判断是否设置过期时间
if(expireHours>0){
var date=new Date();
date.setTime(date.getTime
+expireHours*3600*1000); // 转换为毫秒
cookieString=cookieString+"; expire="+date.toGMTString();
}

document.cookie
=cookieString;
}

//-->
</script>


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

<script language="JavaScript" type="text/javascript">
<!--
function getCookie(name){
var strCookie=document.cookie;
var arrCookie=strCookie.split(""); // 将多cookie切割为多个名/值对
for(var i=0;i<arrCookie.length;i++)// 遍历cookie数组,处理每个cookie对
var arr=arrCookie[i].split("="); // 找到名称为userId的cookie,并返回它的值
if(arr[0]==name)
return arr[1];
}

return "";
}

//-->
</script>


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

<script language="JavaScript" type="text/javascript">
<!--
function deleteCookie(name){
var date=new Date();
date.setTime(date.getTime()
-10000); // 删除一个cookie,就是将其过期时间设定为一个过去的时间
document.cookie=name+"=v; expire="+date.toGMTString();
}

//-->
</script> 
posted on 2007-07-18 13:26 旱头憨脑 阅读(255) 评论(0)  编辑  收藏 所属分类: j2ee

只有注册用户登录后才能发表评论。


网站导航: