2011-05-15 73 views
4

我想知道是否有一個選項,我失蹤FullCalendar內。FullCalendar「查看」可緩存

我目前的默認視圖是'月'。但是我希望發生的事情是,如果用戶查看「星期」視圖,下次用戶訪問網站即「周」視圖將顯示而不是月份。我想知道如何在不使用數據庫的情況下進行設置。

我知道jQuery UI的選項卡具有使用「緩存」功能,這種能力......這事我可以實現在這裏呢?如果是這樣,怎麼樣?

任何方向都是值得讚賞的。

回答

7

changeView不起作用,因爲viewDisplay之前它當日歷設置調用。

這裏是什麼工作:

在初始化對象

,添加:

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

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

您可以將使用jQuery.cookie這是該標籤使用該庫一個cookie此設置。由於您沒有提供任何代碼,因此您如何處理此問題以及設置的位置更多是您需要回答的問題。

0

在你的情況下,你將不得不把代碼放在viewDisplay事件中。 http://arshaw.com/fullcalendar/docs/display/viewDisplay/

也有類似這樣的。

$('#calendar').fullCalendar({ 
    viewDisplay: function(view) { 
     setCookie("lastView", view.name); 
    } 
}); 

你可以得到什麼inforamtion更多信息視圖店在這裏 http://arshaw.com/fullcalendar/docs/views/View_Object/

然後, 所有你需要做的就是使用的changeView頁面加載時用的方法(例如在jQuery中準備好的東西)

http://arshaw.com/fullcalendar/docs/views/changeView/

類似

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

的東西有很多的cookie插件的jQuery但他們都操作略有不同。我根據我的anser在http://jquery-howto.blogspot.com/2010/09/jquery-cookies-getsetdelete-plugin.html找到的一些pureJS代碼,在某處可能會有更好的代碼。

+0

謝謝你的迴應,這看起來很有希望,我會讓你知道它是怎麼回事。 – Justin 2011-05-16 16:57:20

0

版本:3.0.0 viewDisplay已更名爲viewRender,所以目前的代碼應該喜歡:

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