2

这学期我的网页设计课上有一个项目(我是这方面的新手),我在空闲时间一直在做一些兼职工作。我一直在尝试使用 cookie 和 JavaScript。我们在课堂上没有过多地介绍 cookie,我一直在寻找和寻找当前问题的答案。很有可能,如果您曾经对本网站上有关 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();  
}  

很抱歉这么长的帖子,但我想确保社区拥有尽可能多的信息。另外,很抱歉格式不好。我不知道如何把我的整个长代码带过来并让系统允许它。

4

1 回答 1

1

您需要在 cookie 脚本上设置过期时间。如果您没有在 cookie 中设置过期日期,它将被识别为“一次性 cookie”。在重新加载或其他任何操作后,它会消失。

将过期时间设置为 2014 年 1 月 1 日星期三 00:00:01 GMT

这是我个人的看法,但我宁愿使用window.location.href = window.location.href;而不是location.reload();

于 2012-12-07T13:38:48.360 回答