在加载FullCalendar之前获取所有GoogleCalendar事件

在加载FullCalendar之前获取所有GoogleCalendar事件,fullcalendar,google-calendar-api,load-time,Fullcalendar,Google Calendar Api,Load Time,我目前正在使用Adam Shaw的jQuery日历“FullCalendar”,并且在日历呈现过程中遇到了严重延迟。简而言之,页面出现,经过1秒,日历弹出,再经过一秒,然后事件填充页面。有没有办法只在今天的日期前后获取一定数量的事件?甚至立即加载日历也是一种改进。我也在使用克雷格·汤普森的qTip2 Javascript <script type=text/javascript> // Setup FullCalendar jQuery(document).ready (functi

我目前正在使用Adam Shaw的jQuery日历“FullCalendar”,并且在日历呈现过程中遇到了严重延迟。简而言之,页面出现,经过1秒,日历弹出,再经过一秒,然后事件填充页面。有没有办法只在今天的日期前后获取一定数量的事件?甚至立即加载日历也是一种改进。我也在使用克雷格·汤普森的qTip2

Javascript

<script type=text/javascript>
// Setup FullCalendar
jQuery(document).ready
(function() {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();

var tooltip = $('<div/>').qtip({
    id: 'fullcalendar',
    prerender: true,
    content: {
        text: ' ',
        title: {
        },
    },
    events: {
        render: function(event, api) {
            var elem = api.elements.bgiframe;
        }
    },
    position: {
        my: 'bottom center',
        at: 'top center',
        target: 'event',
        viewport: $(window),
        adjust: {
            mouse: false,
            scroll: true,
            method: 'shift',
            resize: true
        }
    },
    show: {
        modal: {
            on: false,
            blur: true,
            stealfocus: false
            }
        },
    hide: false,
    style: 'qtip-bootstrap'
}).qtip('api');

$('#fullcalendar').fullCalendar({

    eventSources: ["https://www.google.com/calendar/feeds/emailaddresshere/public/basic",
        "http://www.google.com/calendar/feeds/usa__en%40holiday.calendar.google.com/public/basic"],

    header: {
        left: 'title',
        center: '',
        right: 'today prev,next'
    },

    selectable: true,
    eventClick: function(data, event, view) {
        var content = '<h3>'+data.title+'</h3>' + 
            '<p><b>Start:</b> '+data.start+'<br />' + 
            (data.end && '<p><b>End:</b> '+data.end+'</p>' || '');

        tooltip.set({
            'content.text': content
        })
        .reposition(event).show(event);
    },
    dayClick: function() { tooltip.hide() },
    eventResizeStart: true,
    eventDragStart: false,
    viewDisplay: function() { tooltip.hide() }

});
}());
</script>

//设置完整日历
jQuery(文档).ready
(功能(){
变量日期=新日期();
var d=date.getDate();
var m=date.getMonth();
var y=date.getFullYear();
变量工具提示=$('').qtip({
id:'完整日历',
预渲染:正确,
内容:{
文本:“”,
标题:{
},
},
活动:{
呈现:函数(事件、api){
var elem=api.elements.bgiframe;
}
},
职位:{
我的‘底部中心’,
在‘顶尖中心’,
目标:“事件”,
视口:$(窗口),
调整:{
老鼠:错,
卷轴:没错,
方法:'shift',
调整大小:true
}
},
展示:{
模态:{
关于:错,
是的,
偷盗焦点:错误
}
},
隐藏:错,
样式:“qtip引导”
}).qtip(“api”);
$('#fullcalendar')。fullcalendar({
事件来源:[”https://www.google.com/calendar/feeds/emailaddresshere/public/basic",
"http://www.google.com/calendar/feeds/usa__en%40holiday.calendar.google.com/public/basic"],
标题:{
左:'标题',
中心:'',
右图:“今天上一个,下一个”
},
是的,
事件单击:函数(数据、事件、视图){
变量内容=“”+数据.标题+“”+
'Start:'+data.Start+'
'+ (data.end&&'end:'+data.end+'

'; 工具提示.set({ “content.text”:内容 }) .重新定位(事件)。显示(事件); }, dayClick:function(){tooltip.hide()}, eventResizeStart:true, eventDragStart:false, viewDisplay:function(){tooltip.hide()} }); }());
这似乎是你无法控制的,因为你从谷歌url获取事件。你不能先预加载google日历事件服务器端吗?然后直接从服务器加载它们?有趣的观点。。。。我将不得不咨询我的学校,因为该页面在他们的服务器上运行,但这在理论上应该是可行的。好主意!到目前为止,我已经整合了文件以减少HTTP请求,并启用了缓存,同时使用.js?versionnumber尽可能地加快速度。然而,事件渲染是另一个难题。我将在下周更新这个结果。祝你感恩节快乐!我很乐意帮忙:)!祝你感恩节快乐!