第十二页:再次深入了解cookies

现在你已经学会了如何设置和读取基本的cookie.然而基本
的cookie常常在用户关闭他的浏览器时会被自动删除.有时候
这样最好因为通常的域只允许在用户的机器上保留20个cookie.
但是如果你希望将cookie保存在用户的机器上你需要设置一
个cookie失效的时间,它的格式是一种叫做GMT的特殊格式.
例如:

Mon, 27-Apr-1998 00:00:00 GMT

要正确设置GMT不是一件容易的事,你需要计算好某个日期是星
期几.好在Javascript有一个日期的方法叫做toGMTString可以
帮助你.下面是设定远期的某个时间的一个例子:
var the_date = new Date("December 31, 2023");

var the_cookie_date =the_date.toGMTString();

一旦你设置了你的cookie的失效期,你在必须在cookie设置的
前面加入这条信息.因此你的cookie应该如下:

cookie_name=blah_blah;expires=date

通常你只需在cookie字符串中加入expires=date,然后用分号
分割不同的cookie.

下面是一个如何建立有效期直至Mayan日历末尾的函数:


function
setCookie()

{

// get the information

//

var the_name = prompt("What's your name?","");

var the_date = new Date("December 31, 2023");

var the_cookie_date =the_date.toGMTString();

// build and save the cookie

//

var the_cookie = "my_cookie=" + escape(the_name);

the_cookie = the_cookie +";expires=" + the_cookie_date;

document.cookie = the_cookie;

}

最后cookie应该如下所示:

my_cookie=thau;expires=Fri,31-Dec-2023 00:00:00 GMT

设置好cookie之后,它将在用户的机器中国存在直到失效期.
如果你将某个cookie的失效期设置得比当前时间还早,该cookie
实际上不能在用户的机器上存活.

此外,还有两个只要的事项:路径(path)和域(domain)。