IE8中的FullCalendar - 事件无法呈现

时间:2012-07-06 14:16:54

标签: json fullcalendar

这是其他人所遇到的问题,但其他地方列出的解决方案都没有对我有用。我正在使用FullCalendar 1.5.3缩小(虽然有趣的是非缩小版本在某种程度上是不同的 - 它不会调用我的完整功能。但这是一个不同的故事。)

这是我生成的javascript / JSON(从DB输出):

$(document).ready(function() {
    var colours = new Array();
    colours[159] = '#ED8E00';
    colours[160] = '#531493';
    colours[161] = '#69A2E2';
    colours[162] = '#C39';
    colours[163] = '#DEED42';

    $('#calendar').fullCalendar({
       header: {
         left: 'prev,next today',
         center: 'title',
         right: 'month,basicWeek'
       },
       events: [{title: 'Consultation on the Preparation of the EU Adaptation Strategy', url: '/~sniffer/news-diary/calendar/consultation-on-the-preparation-of-the-eu-adaptation-strategy/', start: new Date('2012-07-03T00:00:00'), end: new Date('2012-08-20T00:00:00'), allDay: true, page_id: ''},{title: 'Festival of Politics', url: '/~sniffer/news-diary/calendar/festival-of-politics/', start: new Date('2012-08-18T00:00:00'), end: new Date('2012-08-24T00:00:00'), allDay: true, page_id: ''},{title: 'Consultation on Energy Efficiency Standard for Social Housing closing 28.09.12', url: '/~sniffer/news-diary/calendar/consultation-on-energy-efficiency-standard-for-social-housing-closing-28.09.12/', start: new Date('2012-06-25T00:00:00'), end: new Date('2012-06-25T00:00:00'), allDay: true, page_id: ''},{title: 'Consultation on efficient use of materials closing on 28.09.12', url: '/~sniffer/news-diary/calendar/consultation-on-efficient-use-of-materials-closing-on-28.09.12/', start: new Date('2012-06-27T00:00:00'), end: new Date('2012-06-27T00:00:00'), allDay: true, page_id: ''},{title: 'Launch of the latest Sustainable Consumption Institute (SCI) report', url: '/~sniffer/news-diary/calendar/launch-of-the-latest-sustainable-consumption-institute-sci-report/', start: new Date('2012-07-04T00:00:00'), end: new Date('2012-07-13T00:00:00'), allDay: true, page_id: ''},{title: 'Strathclyde Loch Restoration Phase 1', url: '/~sniffer/knowledge-hubs/resilient-catchments/river-restoration-partnerships/strathclyde-loch-restoration-phase-1/', start: new Date('2012-05-01T00:00:00'), allDay: true, page_id: '161'}],
       eventRender: function(event, element) {
           element.attr('rel', event.page_id);
       },
       timeFormat: 'H(:mm)',
       complete: function() {
           $('#calendar').css('background', 'none');
       }
   });

   // Append coloured pills to events
   function updateEventCats() {
        var colour;
        $('a.fc-event').each(function() {
            var rel = $(this).attr('rel');
            var ids = rel.split('-');

            for (var i=0; i<ids.length; i++) {
                colour = colours['+i+'];
                if (rel != '') {
                   $(this).find('.fc-event-inner').prepend('<div class=\'event-pill\' style=\'background:'+colours[ids[i]]+'\'></div>');
                }
            };
        });
   }

   updateEventCats();

   // Update pills on calendar paging
   $('.fc-button').click(function() {
        updateEventCats();
   });

});

似乎没有任何不必要的逗号,我也没有从IE的开发人员工具中获得任何脚本错误。我在IE = edge中运行,所以IE8标准模式。否则日历会完美呈现,页面没有任何问题。

我已尝试禁用药丸,因此日历会变成香草,但这没有帮助。

任何建议都非常感谢。

1 个答案:

答案 0 :(得分:3)

将日期作为字符串而不是Date对象传递。像:

{
  title: 'Consultation on the Preparation of the EU Adaptation Strategy',
  url: '/~sniffer/news-diary/calendar/consultation-on-the-preparation-of-the-eu-daptation-strategy/',
  start: '2012-07-03T00:00:00',
  end: '2012-08-20T00:00:00',
  allDay: true,
  page_id: ''
}

我使用Browser Mode: IE8 and Document Mode: IE8 standards在IE9上对此进行了测试,并且可以正常运行。

希望这有帮助!