首页 文章

我的完整日历代码适用于Chrome,Firefox,但为什么Safari会出现问题呢?

提问于
浏览
0

此代码适用于Chrome和Firefox,但在Safari上,日历甚至不会加载到屏幕上 .

基本上我需要从另一个网站自动提取事件数据,然后将其提供给完整日历 . 其他网站发送事件详细信息的格式是具有“名称”和“时间”属性的数组 . 完整日历以名为“events”的数组形式获取事件详细信息,其中包含属性“title”和“start” . 因此,使用下面的代码,我尝试重命名数组和属性以遵循完整日历的格式 . 然后在渲染日历的代码中,我将该数组称为“事件” . 它适用于Chrome和Firefox,但在Safari上却没有,而且控制台告诉我它在属性名称“事件”后期待“:”?如何让它与Safari一起使用?

var getEvents = function() {

        $.ajax({

            type: "GET",

            url: API_ENDPOINT,

            dataType: 'jsonp',

            success: displayEvents

            });

        };

var displayEvents = function(data) {

    var events = data.results;

    function changeData(events) {

        var start;

        for (var i=0; i < events.length; i++) {

            if (events[i].hasOwnProperty("name")) {
                events[i]["title"] = events[i]["name"];
                delete events[i]["name"];
            }

            if (events[i].hasOwnProperty("time")) {
                events[i]["start"] = events[i]["time"];
                delete events[i]["time"];
            }

            if (events[i].hasOwnProperty("start")) {
                start = events[i].start;
                events[i].start = new Date(start);
            }

        }

    }

    changeData(events);

    console.log(events);

      $('#calendar').fullCalendar({

        events

    });

    }

getEvents();

1 回答

  • 0

    只需改变 $('#calendar').fullCalendar({ events });

    $('#calendar').fullCalendar({ events: events });

    其中第一个 events 是您传递给 $.fullCalendar() 函数的对象的属性名称,第二个 events 是值,即您之前定义的变量 .

相关问题