【问题标题】:full calender not working in firefox完整的日历在 Firefox 中不起作用
【发布时间】:2024-01-16 02:54:01
【问题描述】:

您好,我正在处理 full calender 我在 Mozilla Firefox 中显示值时遇到问题。在 Chrome 中,代码完美运行

我正在从数据库中获取值并显示它,但目前我使用以下 静态值 作为输入。

var abc = new Array();
abc =[{AddedNew: false,allDay: false,end: "Mon May 13 2013 7:30:00 GMT 0530 (India Standard Time)",getA_ID: "72",id: "[_fc1_3 ",start: "Mon May 13 2013 6:30:00 GMT 0530 (India Standard Time)",title: "mon"}];

Chrome 屏幕截图 - 使用静态值

Firefox 截图 - 使用静态值

控制台中的值在 Chrome 和 Firefox 中是正确的

我不知道我哪里出错了,也不知道是 Firefox 的问题。

【问题讨论】:

  • 您是否尝试过 Firefox 网站中给出的示例?只需使用文档中给出的示例数组并检查它是否有效。

标签: javascript jquery rendering fullcalendar


【解决方案1】:

日历的输入日期字符串没有标准格式(根据plugin's documentation):

'Mon May 13 2013 7:30:00 GMT 0530 (India Standard Time)' (your format)
'Mon, 13 May 2013 7:30:00 GMT' (expected format)

因为我不是正则表达式专家,所以只能建议您以下(有效)修复:

var abc = [{AddedNew: false,allDay: false,end: "Mon May 13 2013 7:30:00 GMT 0530 (India Standard Time)",getA_ID: "72",id: "[_fc1_3 ",start: "Mon May 13 2013 6:30:00 GMT 0530 (India Standard Time)",title: "mon"}];
abc.map(function(item){
    var t = item.end.split(' ');
    item.end = [t[0]+',', t[2], t[1], t[3], t[4], t[5]].join(' ');
    t = item.start.split(' ');
    item.start = [t[0]+',', t[2], t[1], t[3], t[4], t[5]].join(' ');
    return item;
});

Fiddle

【讨论】:

    【解决方案2】:

    这是我正在获取的事件,这适用于 AJAX 调用: 你可以和你的比较一下,

    <event allDay="false" editable="true" end="Mon May 13 2013 13:00:00 GMT+0100" id="11"   start="Mon May 13 2013 08:00:00 GMT+0100" title="te3ste"/>
    
    <event allDay="false" editable="true" end="Mon May 13 2013 19:00:00 GMT+0100" id="12" start="Mon May 13 2013 14:00:00 GMT+0100" title="hhhhh"/>
    
    <event allDay="false" editable="true" end="Mon May 13 2013 17:00:00 GMT+0100" id="13" start="Mon May 13 2013 15:00:00 GMT+0100" title="hjhj"/>
    

    【讨论】:

    • +1。嗨,Henrique,测试了您提供的数据,效果很好。所以这将是更好的解决方案,如果 Yashee 可以以某种方式将他的日期从“Mon May 13 2013 7:30:00 GMT 0530 (India Standard Time)”重新格式化为“Mon May 13 2013 7:30:00 GMT+0530 (India Standard Time)”——只在 GMT 之后添加加号,它就可以工作!
    • 我很高兴能帮上忙 :)。我也在学习关于 Fullcalendar 的任务,我已经通过了您所在的位置。如果您需要更多帮助,请询问;)。
    • 谢谢 Henrique,我没有在我的网站上使用日历,只是有点好奇它是如何工作的 ;-) 所以我想这将是更简单的解决方案,如果 Yashhy 修改他的添加到数据库之前的日期。在 PHP 中它比在 javascript 中简单得多,例如:$s = 'Mon May 13 2013 7:30:00 GMT 0530 (India Standard Time)'; $s[strpos($s,'GMT')+3]='+'; 好吧,玩得开心
    最近更新 更多