Jquery 全日历“;“视图”;可缓存

Jquery 全日历“;“视图”;可缓存,jquery,jquery-ui,caching,fullcalendar,Jquery,Jquery Ui,Caching,Fullcalendar,我想知道在FullCalendar中是否有我遗漏的选项 我当前的默认视图是“月”。但我希望发生的是,如果用户查看“周”视图,那么下次用户访问网站时,“周”视图将显示,而不是月份。我想知道如何在不使用DB的情况下进行设置 我知道jQuery UI选项卡使用“缓存”功能具有这种功能。。。这是我在这里也可以实现的吗?如果是,怎么做 任何方向都会很感激 您可以使用选项卡使用的库jQuery.cookie将此设置存储在cookie中。您需要回答的更多问题是如何处理此问题以及在何处设置,因为您没有提供代码。

我想知道在FullCalendar中是否有我遗漏的选项

我当前的默认视图是“月”。但我希望发生的是,如果用户查看“周”视图,那么下次用户访问网站时,“周”视图将显示,而不是月份。我想知道如何在不使用DB的情况下进行设置

我知道jQuery UI选项卡使用“缓存”功能具有这种功能。。。这是我在这里也可以实现的吗?如果是,怎么做


任何方向都会很感激

您可以使用选项卡使用的库
jQuery.cookie
将此设置存储在cookie中。您需要回答的更多问题是如何处理此问题以及在何处设置,因为您没有提供代码。

在您的情况下,您必须将代码放入viewDisplay事件中。

类似的东西

$('#calendar').fullCalendar({
    viewDisplay: function(view) {
        setCookie("lastView", view.name);
    }
});
您可以在此处获得有关视图存储的信息的更多信息

然后, 您所要做的就是在使用方法加载页面时使用changeView(例如在jqueryready之类的程序中)

类似于

.fullCalendar( 'changeView', getCookie("lastView") )

jQuery有许多cookie插件,但它们的操作略有不同。我的anser基于一些pureJS代码,在那里可以找到更好的代码。

您可以使用viewdisplay事件


一个好的cookie插件是

changeView不起作用,因为在设置日历时,会在它前面调用viewDisplay

以下是有效的方法:

在初始化对象中,添加:

defaultView: $.cookie('fullcalendar_defaultView') || 'month',

viewDisplay: function(view) { $.cookie('fullcalendar_defaultView', view.name); }

在版本:3.0.0
viewDisplay
中已重命名为
viewdrender
,因此当前代码应如下所示:


defaultView:$.cookie('fullcalendar_defaultView')| |'month',
viewRender:function(view){$.cookie('fullcalendar_defaultView',view.name);}

谢谢您的回复,这看起来很有希望,我会告诉您进展如何。