This Domain(Admin5.com) is for Sale:

初学Javascript之cookie篇(译)

时间:2007-10-22  来源:不详  作者:林子

因为Javascript没有文件访问的功能,看来我们只能使用cookies了。

织梦好,好织梦

Cookies是一个有大小限制的变量,它与一个服务器的域名相关联,
默认情况下cookie的生存期是当浏览器关闭时被清空(注意:不是当你离开
这个页面的时候),但可以用一个脚本程序改变这种情况,
在用户关闭浏览器后使cookies能够存储下来,Netscape在文件中使用所有的
Cookie,而IE分别存储每个cookie。此外,不同的浏览器会带来一些意想
不到的情况,你必须确定一个用户在它的浏览器设置中是否关闭了cookies。

本文来自织梦

一切都很好也很妙,只是现在我还未在IE中测试它,调用示例Javascript语句:
cookieExpires = "01-APR-" nLyear " GMT";
document.cookies = cookieName "=" cookieValue "; expires=" cookieExpires;

织梦好,好织梦

然后调用
document.write(document.cookie);

织梦内容管理系统

document.cookie是空的。 dedecms.com

在试验和研究了一下上面的示例程序后,会发现: 内容来自dedecms

1。你不能够读和显示cookie。如果你想看一下这个cookie你需要指定与它相同的另一个字符串变量,如下:
document.cookie = cookieName "=" cookieValue "; expires=" cookieExpires;
myvar = cookieName "=" cookieValue "; expires=" cookieExpires;
document.write(myvar);

织梦内容管理系统

2. 浏览器用了不同的日期格式:
Netscape使用"GMT"结束,IE使用“UTC",这是因为它可以更好的构建一个日期,象下面这样:
var expdate = new Date()
cookieExpires.setTime (expdate.getTime() 1 * (24 * 60 * 60 * 1000)) // 1 day
cookieExpires.toGMTString() 织梦内容管理系统

当你显示日期部分
document.write(expdate.getYear() "<br>" expdate.getMonth() "<br>" expdate.getDate());
对于2000-11-15的日期,在IE中显示为2000/10/15,在Netscape下显示100/10/15(注:已确定是一些较低版本的
Netscape 浏览器的Y2K问题) 织梦内容管理系统

示例中看到像下面这样的部分:
if (platform == "Mac") {
lastVisit = lastVisit - (24 * 60 * 60 * 1000)
}
但我不可能检测它。

织梦好,好织梦

日期对象有getDate和getDay的方法,第二个方法返回在一周中天的索引号。 织梦内容管理系统

----------------------------------------
知道了这些,基本上就没问题了(现在你可以看一下homepage.htm)

织梦好,好织梦

[译者注:将本文的最后示例代码拷至文本文件中并保存htm格式,然后运行]

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息