2012-10-26 56 views
0

我一直在尝试使用FullCalendar从Google日历中获取事件数据数小时。我希望数据在一个对象中,这样我就可以在我的页面上出现的完整日历之外使用它,而且我似乎无法做到。使用FullCalendar从谷歌日历中获取事件数据

下面是我的代码有:

$(document).ready(function() { 

    $('#calendar').fullCalendar({ 
    events: 'https://www.google.com/calendar/feeds/wrchapin%40gmail.com/public/basic', 
    }); 

    var events = $('#calendar').fullCalendar('clientEvents'); 
    console.log(events.length); 
}); 

该日历会出现,因为它应该在页面上,但控制台显示为0的长度发生了什么事?我是否正确使用clientEvents方法?

感谢您提供任何帮助。

回答

1

这里的问题是在日历加载事件之前发生的调用clientEvents。这就是事件数组为空的原因。

您可以通过使用日历的回调来轻松解决此问题。看看这个小提琴: http://jsfiddle.net/100thGear/gt8F9/

让我知道这是否有帮助!

+0

谢谢!这非常有帮助!现在我所要做的就是找出为什么如果calendar div的显示设置为'none',我无法调用clientEvents ......再次感谢! – cowabungabill

+0

欢迎您!在这种情况下,您不能调用clientEvents的原因是因为FC编码的方式只能在目标div可见时渲染事件。当div变得可见时,你可以明确地使用'.fullCalendar('render')'来克服这个问题。希望有所帮助 - 同样,你会介意接受这个答案吗? – ganeshk

+0

当然!虽然我只是意识到clientEvents只返回在日历的当前月份显示的事件。有没有办法从所有月份获得所有活动? – cowabungabill