Frage

Ich versuche, einen FullCalendar mit der externen Ziehfunktion zu erstellen, in dem Sie die zum Kalender hinzugefügten Ereignisse in einem Cookie speichern können (ich hätte dies viel lieber auf dem Server gespeichert, aber das ist keine Option).Ich verwende das JQuery-Cookie-Plugin, um es einfacher zu machen.

Was ich bisher habe, ist die Speicherfunktion (von der ich glaube, dass sie funktioniert):

function save() {
    var eventsFromCalendar = $('#calendar').fullCalendar( 'clientEvents');
    $.cookie("DSCalendar", eventsFromCalendar, {expires: 1});
}

...Aber ich kann den Kalender nicht dazu bringen, dies einzuschließen, wenn ich ihn das nächste Mal öffne.Ich habe es so versucht, aber es scheint überhaupt nicht zu funktionieren:

$(document).ready(function() {
     ....

        var savedEvents = $.cookie("DSCalendar");
        $('#calendar').fullCalendar({

            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            events: savedEvents,
             ...........

Gibt es vielleicht jemanden da draußen, der das schon einmal gemacht hat oder eine Idee hat, wie ich die Ereignisse speichern kann, ohne einen Server zu verwenden?

War es hilfreich?

Lösung

Das Cookie-Plugin kann meiner Meinung nach keine komplexen Objektarrays speichern.Deshalb habe ich die Verwendung vorgeschlagen JSON.stringify.Das von zurückgegebene Object-Array jedoch .fullCalendar('clientEvents') enthält rekursive Objektreferenzen – also sogar JSON.stringify Dies gelingt nicht erfolgreich.

Schauen Sie sich diese Geige an:http://jsfiddle.net/100thGear/v6tSd/

Ich habe ein temporäres Objektarray erstellt, bevor ich es im Cookie gespeichert habe und dann JSON.stringify Und JSON.parse hat perfekt funktioniert.

Lassen Sie mich wissen, ob das hilft.

Andere Tipps

In FILLCALENDAR V1 enthält der Inhalt von ClientEvents ein Schlüsselobjektpaar, das als "Quelle" für jedes Ereignis namens "Quelle" genannt wird, wenn Sie Ihre Daten ferngesteuert werden.Dieses Paar hat die URL der Remote-Daten darin, wodurch der Fehler "Umwandeln von Kreisstruktur in JSON" zurückgibt, wenn Sie versuchen, KundenEvents zu erfolgen, um es zu speichern oder an einen Ort zu senden, der eine Zeichenfolge benötigt, nicht ein Array von Objekten.Die Arbeit, die ich verwendet habe, besteht darin, die Taste "Quellen" und Objekt mit dem folgenden Skript zu entfernen: generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top