【问题标题】:Fullcalendar JSON Feed CachingFullcalendar JSON 提要缓存
【发布时间】:2012-01-15 00:12:34
【问题描述】:

如何让Fullcalendar 缓存来自 JSON 提要的事件?

我不认为lazyfetching 做我想做的事。它工作一个月。假设我加载一个月,一月,然后切换到日视图,数据被缓存,不发送ajax请求。但是如果我将月份更改为二月并返回一月,一月仍然会重新加载。

作者尝试accomplish the request back in March of 2011,但我相信还是失败了。他让browser possibly cache the result of a request,但这取决于浏览器设置。

有什么想法吗?我错过了什么吗?

【问题讨论】:

    标签: javascript jquery jquery-ui fullcalendar


    【解决方案1】:

    我会创建自己的缓存对象并在 fullcalendar 初始化程序的 events 函数中使用它。此方法利用“事件作为函数”获取事件数据的方法:http://arshaw.com/fullcalendar/docs/event_data/events_function/

    $("#calendar").fullCalendar({
    
    // init options
    
    // go
    
    //here,
        events: function (start, end, callback) {
    
            //have we already cached this time?
            if (events.eventsCache 
                && events.eventsCache[start.toString + "-" + end.toString]){
    
                        //if we already have this data, pass it to callback()
                callback(eventsCache[start.toString + "-" + end.toString]);
                return;
            }
    
    
    
            //we haven't gotten this time range (month) yet. get it, and pass it to callback()
            $.get("where_my_events_live.php", function(data){
                if (!events.eventsCache)
                    events.eventsCache = {};
    
                //store your data
                eventsCache[start.toString + "-" + end.toString] = data;
                callback(data);
            });
        },
    
    ..r
    

    【讨论】:

    • 嗨@Matt H,您将事件数据直接保存到javascript数组中,这样做会增加使用空间,您甚至在添加到本地数组之前没有压缩数据,请确认它是什么“ events.eventsCache”,到底是全日历预定义数组还是我们自己定义的,不过思路不错。
    【解决方案2】:

    我通过使用带有fullcalendar 的backbone.js 来实现这一点。 http://blog.shinetech.com/2011/08/05/building-a-shared-calendar-with-backbone-js-and-fullcalendar-a-step-by-step-tutorial/ 提供代码和解释它的教程。对于您要完成的任务来说,这是一个极端的解决方案,但是将backbone.js 与fullcalendar 一起使用的好处可能值得探索。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多