使用Firefox显示YUI数据和日期

时间:2010-06-03 16:16:33

标签: firefox date yui yui-datatable

我正在使用通过JSON加载的数据表,日期如下:2010-06-03 使用Opera和Chrome,我的正确日期显示为06/03/2010。使用Firefox Windows(即使在安全模式下,没有任何插件),我得到一个NaN / NaN / NaN。如果我使用调试控制台,我会看到一个有效的日期,但在Firefox Windows中我可以看到“无效的日期”。 奖金,Firefox Mac上有大量的插件,我们有有效的日期!

以下是日期列的设置

oColumn['editor'] = 
   new YAHOO.widget.DateCellEditor({asyncSubmitter:UpdateRowData});
oColumn['formatter'] = YAHOO.widget.DataTable.formatDate;
oField['parser'] = 'date';

谢谢,
塞德里克

3 个答案:

答案 0 :(得分:2)

事实证明“2010-06-03”不会返回有效的Date对象(至少在FF / Win中)。对于跨浏览器兼容性,请确保您的值采用Date构造函数可接受的格式: https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date

答案 1 :(得分:1)

珍妮的参考是好的,但如果你不想挖掘,你应该通过:

“YYYY,MM,DD”

进入YUI解析器,使其在FF / Win以及Chrome中工作。

答案 2 :(得分:0)

根据您的具体情况,解决此问题的另一种方法是在“JSON”数据中包含实际日期构造函数。一旦这样做,它就不再是标准的JSON,你需要在浏览器上进行评估。

例如

{'duration': 75, 'end_time': new Date(Date.UTC(2008,11,23,17,45,00,0)),
 'start_time': new Date(Date.UTC(2008,11,23,16,30,00,0))}

由于数据已经是日期对象,因此不再需要解析浏览器上的数据。

缺点是您不再从服务器向客户端浏览器发送有效的JSON。