2007年5月26日 星期六

getFullYear

2000年已经过去7年多了,但“千年虫”依然活跃于各个角落。

前些天,访问“新华网”,一个大大的“19107年”出现在屏幕的左上角。嗯,时间过得真快,这么快就过了一万多年了。

原来是里面的一段JavaScript程序有问题:

var enabled = 0; today = new Date();
var day; var date;
var centry ; if(today.getDay()==0) day = "星期日"
if(today.getDay()==1) day = "星期一"
if(today.getDay()==2) day = "星期二"
if(today.getDay()==3) day = "星期三"
if(today.getDay()==4) day = "星期四"
if(today.getDay()==5) day = "星期五"
if(today.getDay()==6) day = "星期六"

centry="";
if (today.getYear()<2000 ) centry = "19" ;
date1 = centry + (today.getYear()) + "年" + (today.getMonth() + 1 ) + "月" + today.getDate() + "日 " ;
date2 = "" + day ;
document.write( date1+date2);
首先,判断现在的年份是否小于2000,这是完全没有必要的,用脚趾想想也知道,即使地球自东往西转,也回不去那个19xx年的。

另外,JavaScript的getYear已经不合时宜,为了更好的兼容性,应该使用getFullYear。

其实,上面的错误,在万恶的IE里是看不出来的,但在Firefox或Opera里就显露出来了。一般的小网站出现这样的错误也就算了,但诺大的一个新华网,总不能只为IE而设吧?

现在,新华网的首页已经修正了这个错误,之前不能显示(在Firefox下)的阴历也正常了。可是《经济参考报》的主页,仍然显示“19107年”……

一个网站的设计,只适应一个浏览器容易,但要让各式各样的浏览器都能正确显示出应有的效果,还是要下点功夫的。

本文地址:http://yxgong.net/2007/05/getfullyear.html

Tags:

0 评论: