在试验和研究了一下上面的示例程序后,会发现:
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格式,然后运行]
最后要说明的是,这不仅是一个专用的js脚本,如果你想将它用在你的web页面上你必须最小程度的使用不同的浏览器测试它并注意它们的版本,许多的脚本程序包含了浏览器类型检测和大量的if...else语句,以处理这样不同。
示例页面homepage.htm源代码
=======================================
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器