好久没写博客了,一是最近工作有点忙,二是自己有点懒。
     这次的项目中用到了一个js的日期控件WebCalendar.js,这个js文件还是以前在大连工作时一个朋友推荐的,最大的特点是调用简单,支持firefox浏览器。这次项目中就直接用了。不过在测试的时候发现,通过该js显示出来的日期在firefox中星期显示不正常。比如:2008-04-01在ie中显示为星期二(正确),在firefox中显示为星期日(不正确)。如下图:
图一(ie下日期截图)修复了WebCalendar.js日期控件在firefox下星期显示错误问题 图二(firefox下日期截图)修复了WebCalendar.js日期控件在firefox下星期显示错误问题
    从图中可以看出,在firefox下日期显示是不正常的。上网查了一下,发现好多人发现了这个问题,但就是没有已修改过的。
    求人不如求己,既然没有现成的,就自己研究下它的源代码吧。经过读它的源代码,发现了问题所在,它有一个“绑定数据到月份视图”的函数。其内容如下:
   
 1修复了WebCalendar.js日期控件在firefox下星期显示错误问题//绑定数据到月视图
 2}
     这个函数就是用来绑定日期到月份表格中的。出错的地方,就在上面代码的第4行,this.date.getYear(),这句话上。这句话是得到当前的年份。但是遗憾的是在firefox中,getYear()函数不能正确返回当前年份。firefox的算法是当前年减去1900,也就是说,当前年是2008年的话,firefox中返回的是108,而不是2008。
     问题找到了,解决起来就简单了,把this.date.getYear()修改为this.date.getFullYear(),即在firefox中显示正常了。
     修改后的WebCalendar.js文件下载/Files/longer/WebCalendar.rar

相关文章:

  • 2022-02-13
  • 2021-11-14
  • 2022-12-23
  • 2021-12-05
  • 2022-02-26
  • 2021-12-06
  • 2022-12-23
  • 2022-01-18
猜你喜欢
  • 2021-04-07
  • 2021-09-27
  • 2022-12-23
  • 2021-07-29
  • 2021-05-13
  • 2022-12-23
  • 2021-10-26
相关资源
相似解决方案