首页 新闻 会员 周边 捐助

一个诡异的问题

0
悬赏园豆:5 [已解决问题] 解决于 2008-12-02 17:33
Code

 

 

帮我看下这段代码,cookie设置的时间没有用,刷新后是有值的,关了再开 这个值就不在了~~

问题补充: 这是源代码; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title> <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; alert(document.cookie); } function getCookie(name) { var strCookie=document.cookie; var arrCookie=strCookie.split("; "); var s =""; for(var i=0;i<arrCookie.length;i++) { var arr=arrCookie[i].split("="); if(arr[0]==name) s= arr[1]; alert(s); } return ""; } //--> </script> </head> <body > <input type="button" value="addCookie" onclick="addCookie('aa','bb',1)" /> <input type="button" value="getcookie" onclick="getCookie('aa')"/> </body> </html>
like%'远远'%的主页 like%'远远'% | 小虾三级 | 园豆:635
提问于:2008-12-02 15:10
< >
分享
最佳答案
0

下面这两行错了:

date.setTime(date.getTime()+expireHours*3600*1000);
cookieString=cookieString+"; expire="+date.toGMTString();

第一行,JS中没有setTime和getTime,请使用setDate/getDate、setHours/getHours等相关正确的时间函数,具体可以去查文档或者百度一下,很多

第二行,问题很小,那个 expire 少了个 s,应该是 expires

我改成了下面这样,测试成功:

date.setHours(date.getHours()+expireHours);
cookieString=cookieString+"; expires="+date.toGMTString();

丁学 | 专家六级 |园豆:18730 | 2008-12-02 17:01
其他回答(1)
0

看到一个编码错误date.getTime这个应该是方法,但是没有加括号,看看是不是这个问题吧。

玉开 | 园豆:8822 (大侠五级) | 2008-12-02 15:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册