周视图中缺少一些事件,而日视图中缺少其他事件,但在月视图中显示
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 链接已更新,因此您可以明白我的意思。 我看不出有任何问题。也许检查支持并与开发人员记录错误......以上是关于周视图中缺少一些事件,而日视图中缺少其他事件,但在月视图中显示的主要内容,如果未能解决你的问题,请参考以下文章