JavaScript Cookie无法保存

时间:2012-12-07 13:16:21

标签: javascript html cookies

我这个学期的网页设计课上有一个项目(我是新手)我在空闲时间做了一些小工作。我一直在尝试使用cookie和JavaScript。我们课堂上没有完全覆盖cookies,我一直在搜索并寻找当前问题的答案。如果您曾经回复过本网站上有关JavaScript和/或HTML的任何内容,我可能会阅读它。正如我的标题所说,我遇到的问题是我的cookie似乎没有保存。在第一次加载时,代码工作正常,然后我重新加载页面,它不会调用cookie值。 这是我的cookie脚本:

var name;  
if(document.cookie)  
{  
var q1=unescape(document.cookie);  
var q2=q1.search("name");  
if(q2!=(-1))  
    {  
        var n=str.split("name=");  
        var n1=n[1];  
        var n2=n1.split(";");  
        var q=n2[0];  
        name=q;  
    }  
    else  
    {  
        name=window.prompt("Please enter your name.");  
        document.cookie="name="+escape(name);  
    }  
 }     
else  
{  

name=window.prompt("Please enter your name.");  
    document.cookie="name="+escape(name);  
} 

在加载页面的其余部分后使用:

document.writeln(name+"text stuff");

如果cookie中的值不正确,我创建了这个通过HTML中的按钮调用的函数:

function wrongPerson()  
{  
    document.cookie="name=hooper; expires=Thu, 01 Jan 1970 00:00:01 GMT";  
    location.reload();  
}  

很抱歉这么长的帖子,但我想确保社区尽可能多的信息。此外,抱歉格式不佳。我不知道如何使用我的整个代码并让系统允许它。

1 个答案:

答案 0 :(得分:1)

您需要在Cookie脚本上设置过期。如果您没有将过期日期存入您的cookie,它将被识别为“一次性cookie”。重载或其他任何东西后,它都会消失。

将过期日期定为2014年1月1日星期三00:00:01 GMT

这是我个人的意见,但我宁愿使用window.location.href = window.location.href;代替location.reload();