javascript的cookie 小白求教 20

想知道固定的用法教程上说的太简单了想知道基本的格式最好再举个常用的例子谢谢了... 想知道固定的用法 教程上说的太简单了 想知道基本的格式 最好再举个常用的例子 谢谢了 展开
 我来答
海兴之家
2011-09-29 · TA获得超过535个赞
知道小有建树答主
回答量:925
采纳率:61%
帮助的人:294万
展开全部
就是记录一些用户信息,比如你想记录用户的用户名你就可以写入cookie,以后要用时可以读取cookie来获取此信息,一般格式是:写入要写一个写入函数:如

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";
expires="+exdate.toGMTString())
}上面这个函数中的参数存有 cookie 的名称、值以及过期天数
之后,我们要创建另一个函数来检查是否已设置 cookie:

function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}上面的函数首先会检查 document.cookie 对象中是否存有 cookie。假如 document.cookie 对象存有某些 cookie,那么会继续检查我们指定的 cookie 是否已储存。如果找到了我们要的 cookie,就返回值,否则返回空字符串。

最后,我们要创建一个函数,这个函数的作用是:如果 cookie 已设置,则显示欢迎词,否则显示提示框来要求用户输入名字。
function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
{alert('Welcome again '+username+'!')}
else
{
username=prompt('Please enter your name:',"")
if (username!=null && username!="")
{
setCookie('username',username,365)
}
}
}

这是所有的代码:

<html>
<head>
<script type="text/javascript">
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}

function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
{alert('Welcome again '+username+'!')}
else
{
username=prompt('Please enter your name:',"")
if (username!=null && username!="")
{
setCookie('username',username,365)
}
}
}
</script>
</head>

<body onLoad="checkCookie()">
</body>
</html>
assign_2011
2011-09-30 · TA获得超过284个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:147万
展开全部
就是一串字符串,自己写个类操作吧
function CookieClass()
{
this.expires = 0 ; //有效时间,以分钟为单位
this.path = ""; //设置访问路径
this.domain = ""; //设置访问主机
this.secure = false; //设置安全性

this.setCookie = function(name,value)
{
var str = name+"="+escape(value);
if (this.expires>0)
{
//如果设置了过期时间
var date=new Date();
var ms=this.expires * 60 * 1000; //每分钟有60秒,每秒1000毫秒
date.setTime(date.getTime()+ms);
str+="; expires="+date.toGMTString();
}

if(this.path!="")str+="; path="+this.path; //设置访问路径
if(this.domain!="")str+="; domain="+this.domain; //设置访问主机
if(this.secure!="")str+="; true"; //设置安全性

document.cookie=str;
}

this.getCookie=function(name)
{
var cookieArray=document.cookie.split("; "); //得到分割的cookie名值对
var cookie=new Object();
for(var i=0;i<cookieArray.length;i++)
{
var arr=cookieArray[i].split("="); //将名和值分开
if(arr[0]==name)return unescape(arr[1]); //如果是指定的cookie,则返回它的值
}
return "";
}

this.deleteCookie=function(name)
{
var date=new Date();
var ms= 1 * 1000;
date.setTime(date.getTime() - ms);
var str = name+"=no; expires=" + date.toGMTString(); //将过期时间设置为过去来删除一个cookie
document.cookie=str;
}

this.showCookie=function()
{
alert(unescape(document.cookie));
}
}

//使用例子
//var cook = new CookieClass();
//cook.expires =1;//一分钟有效
//cook.setCookie("01","5556666666666555");//写
//alert(cook.getCookie("01"));//读
//cook.showCookie();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式