周视图中缺少一些事件,而日视图中缺少其他事件,但在月视图中显示

Posted

技术标签:

【中文标题】周视图中缺少一些事件,而日视图中缺少其他事件,但在月视图中显示【英文标题】:Some events are missing in week view and others in day view but are shown in month view 【发布时间】:2012-07-18 15:35:42 【问题描述】:

我正在同步 fullcalendar 和 google 日历,我注意到在周视图中,周日 0:00 到 12:00 的事件丢失了,但仅限于那一天。如果我切换到日视图,它会发生在每一天。

您可以在此处查看错误:http://www.kittikun.jp/schedule2.html

这是页面的来源:

    <script>
        $(document).ready(function() 

            $('#calendar').fullCalendar(
                events:  url:"http://www.google.com/calendar/feeds/contact%40kittikun.jp/public/basic" ,
                theme: true,
                header: 
                    left: 'today prev,next',
                    center: '',
                    right: 'month,agendaWeek,agendaDay'
                ,
                allDaySlot: false,
                timeFormat: "H:mm",
                aspectRatio: 1,
                lazyFetching: false,
                firsthour: 0,
                buttonIcons: prev: 'circle-triangle-w',
                eventClick: function(calEvent, jsEvent, view) 
                    if (calEvent.description) 
                        var $dialog = $('<div></div>')
                            .html(calEvent.description)
                            .dialog(
                                title: calEvent.location,
                                modal: true,
                                width: 500
                        );

                        $dialog.dialog('open');
                    
                    return false;
                    
            );
        );
    </script>

在这个论坛上搜索后,我发现了这个话题:

JQuery:FullCalendar Plugin: Events are not shown in week view and day view but are shown in month view

但解决方案不起作用

感谢阅读本文

【问题讨论】:

您已禁用 allDaySlot。请检查缺少的事件是否是 AllDay 事件。因为 allDay 插槽存在于日视图和周视图中,但不在月视图中。我怀疑这就是为什么您在月视图中看到这些事件,而不是在日视图和周视图中。 @Adil - 据我所知,这些事件是 1 小时的事件。更改该设置不会产生任何影响 @AdilMalik 我同意,allDaySlot 没有任何效果 Fullcalendar 的问题已经开放 3 年了。您可以使用此link 查看其状态 【参考方案1】:

我刚刚遇到了这个问题,我发现了一个丑陋的解决方法让我度过了难关。以下是我使用议程视图使事情看起来正确的方法:

在 Fullcalendar 的初始化中,将 defaultView 设置为“月”。接下来,将lazyFetching 设置为true。现在,设置“加载”方法来更改视图类型。初始化应该是这样的:

    $('#calendar').fullCalendar(
        header: 
            left: 'prev,next today',
            center: 'title',
            right: ''
        ,      
        defaultView: 'month',
        allDayDefault: false,
        timeFormat: '',
        allDaySlot: false,
        editable: false,
        lazyFetching: true,
        eventLimit: false,          

        events: 'https://www.google.com/calendar/feeds/mycalendarURL',

        loading: function(bool) 
            $('#calendar').fullCalendar( 'changeView', 'agendaWeek' );
            

    );

信不信由你,原来的“月”视图并没有出现;议程周视图是唯一出现的视图 - 至少我目前在我的 Mac 上的 Safari 中对其进行测试。

基本上,这种 hack 方法将视图设置为似乎正确收集所有事件的视图,然后将视图切换到我们真正想要看到的视图。通过打开lazyFetching,已经加载的事件保持加载状态。

请注意,如果用户导航到遥远的未来或过去的事件,则需要加载更多事件。发生这种情况时,即使用户导航回他开始的地方,一切都会再次变得异常。对于我的应用程序,我将查看限制在一个小的日期范围内,所以这很好。对于其他应用程序,这可能是个问题。

希望有一天会出现一个合适的解决方案,因为在我搜索互联网试图找到解决方案后,我发现至少有另外三个人看到了这个问题。希望我的 hack 解决方案能够帮助其他人,直到这个问题得到正式修复。

【讨论】:

【参考方案2】:

尝试设置

lazyFetching: true

【讨论】:

感谢您的回复。作为一种魅力,只要你开始进入月视图然后进入其他模式,但这并不是它最初的工作方式。它应该默认使用议程周,所以我添加了 defaultView:“议程周”,现在周日问题又回来了,虽然天是固定的。如果进入一个月,它也会修复一周。 schedule2.html 链接已更新,因此您可以明白我的意思。 我看不出有任何问题。也许检查支持并与开发人员记录错误......

以上是关于周视图中缺少一些事件,而日视图中缺少其他事件,但在月视图中显示的主要内容,如果未能解决你的问题,请参考以下文章

缺少电子商务数据和不良事件跟踪代码

UIEventSubtype 缺少元素

.NET Scintilla 组件中缺少“文本光标移动”和“滚动条调整”事件?

使用 Visual Studio 建模项目创建 C# 事件

在 Java 中读取 MIDI 消息:缺少音符关闭事件?

spark-dataframe pivot缺少列/值