سؤال

أحاول إنشاء FullCalendar مع وظيفة السحب الخارجية حيث يمكنك حفظ الأحداث المضافة إلى التقويم في ملف تعريف الارتباط (كنت أفضل حفظ هذا على الخادم، ولكن هذا ليس خيارًا).أنا أستخدم البرنامج المساعد لملفات تعريف الارتباط jquery لتسهيل الأمر.

ما لدي حتى الآن هو وظيفة الحفظ (التي أعتقد أنها تعمل):

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

...ولكن لا يمكنني جعل التقويم يتضمن هذا عندما أفتحه في المرة التالية.لقد حاولت القيام بذلك بهذه الطريقة ولكن يبدو أنه لا يعمل على الإطلاق:

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

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

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

هل هناك أي احتمال أن يكون هناك أي شخص قام بذلك من قبل أو لديه أي فكرة عن كيفية حفظ الأحداث دون استخدام الخادم؟

هل كانت مفيدة؟

المحلول

أعتقد أن المكون الإضافي لملفات تعريف الارتباط لا يمكنه تخزين صفائف الكائنات المعقدة.لهذا السبب اقترحت استخدام JSON.stringify.ومع ذلك، تم إرجاع مجموعة الكائنات بواسطة .fullCalendar('clientEvents') يحتوي على مراجع كائنات متكررة - حتى JSON.stringify فشل في تحويل هذا بنجاح.

ألق نظرة على هذا الكمان:http://jsfiddle.net/100thGear/v6tSd/

لقد قمت بإنشاء مجموعة كائنات مؤقتة قبل تخزينها في ملف تعريف الارتباط وبعد ذلك JSON.stringify و JSON.parse عملت على أكمل وجه.

اعلمني اذا كان هذا مفيدا لك.

نصائح أخرى

في FullCalendar V1، تتضمن محتويات العملاء معزولين كائن رئيسي يسمى "المصدر" لكل حدث، إذا كنت تقوم بتحميل بياناتك عن بعد.يحتوي هذا الزوج على عنوان URL للبيانات عن بعد، مما يؤدي إلى إرجاع الخطأ "تحويل الهيكل الدائري إلى JSON" إذا حاولت تصوير العملاء من أجل حفظ أو إرسالها إلى موقع يحتاج إلى سلسلة، وليس صفيفا من الكائنات.العمل المحيط الذي استخدمته هو إزالة المفتاح "المصدر" والكائن باستخدام البرنامج النصي التالي: giveacodicetagpre.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top