簡體   English   中英

jQuery FullCalendar渲染事件在月視圖中的錯誤日期

[英]JQuery FullCalendar rendering events on wrong day in month view

EDIT TL; DR:臨時找出了造成此問題的原因,IE兼容模式在IE10 10.0.34中破壞了此插件(v2.5)

編輯:我是菜鳥,它是IE10。 即使考慮到我已關閉拖放功能並編輯IE10,也以某種方式將其構建為錯誤。 我幾乎在IE10中進行了所有測試,因為它是內部Web應用程序的強制性瀏覽器,fullcalendar在其頁面上顯示了IE8 +兼容性,因此直到現在,出於絕望/憤怒,我還沒有跨瀏覽器對其進行過測試。 有人對此有疑問嗎? 關於如何解決它或如何解決問題的任何想法,也許可以找到問題所在? 它有點超出我的操舵能力,但是我希望這個東西能夠正常工作,在眾神的幫助下,我會讓它正常工作或嘗試失敗。

我試圖將全日歷用作前端的一部分,以進行簡單的顯示。 該Web應用程序與Oracle Portal一起使用,可能會有一定的影響。

這是日歷初始化腳本,它綁定到div,所以沒什么花哨的:

<script>
$(document).ready(function() {
    var events = [];
    var e = {}
    <%FOR event_rec in month_events LOOP%>
    e = {
                id: "<%=event_rec.event_id%>",
                title: "<%=event_rec.event_name%>",
                start: "<%=event_rec.event_day%>T<%=to_char(event_rec.start_hr,'FM00')%>:<%=to_char(event_rec.start_min,'FM00')%>:00",
                end: "<%=event_rec.event_day%>T<%=to_char(event_rec.end_hr,'FM00')%>:<%=to_char(event_rec.end_min,'FM00')%>:00",
                description: "<%=event_rec.notes%>"
        };
    events.push(e);
    <%end LOOP;%>

    $("#calendar").fullCalendar({
        header: {
            left: "prev,next",
            center: "title",
            right: "month,basicWeek,basicDay"
        },
        titleFormat: 'MMMM D, YYYY',
        buttonText: {
            prev: 'Previous',
            next: 'Next'
        },
        defaultDate: "<%=v_default_date%>",
        editable:false,
        allDayDefault:false,
        eventStartEditable:false,
        eventDurationEditable:false,
        eventLimit:true,
        eventOrder:"start", 
        dayClick: function(date, jsEvent, view) {
                //Open day by clicking on tile
                $('#calendar').fullCalendar( 'gotoDate', date );
                $('#calendar').fullCalendar( 'changeView', "basicDay" );
        },
        timezone : 'local'      
    });

    $('#calendar').fullCalendar('addEventSource',events);

});

這些<%=%>標記表示它在哪里調用了oracle門戶后面的偽代碼,它正在循環通過一個小游標,是的,這不是理想的方法,但這是我所能做的。

在頁面加載/渲染上看起來像這樣:

e = {
                id: "1",
                title: "Test Event 1",
                start: "2015-12-10T11:00:00",
                end: "2015-12-10T14:00:00",
                description: "Testing Notes"
        };

現在是有趣的部分:

圖片

看到那些日子都用紅色圈起來嗎? 那些日子沒有活動,所有活動都在10日和12日舉行。 我一輩子都無法弄清楚為什么這些事件在錯誤的日子出現。 首先想到的是我要填充的那個數組的數據問題,就像輸入錯誤或格式錯誤,但是所有日期都有相同的開始/結束時間,因為在制作測試用例時我最初沒有更改這些值。

有任何想法嗎? 我完全沒有他們了。 通常在這些情況下,這是我忽略的小事情,一經尋求幫助,我便立即發現它。 我要依靠這個,或者比我更聰明的人來發現問題。

IE10(10.0.34)中的兼容模式打破了2.5版的全日歷應用程序(或JQuery),使事件在月視圖中的錯誤日期單元格上呈現,但在日期或周視圖中仍然正確。

至少暫時關閉該功能可以解決我的問題(如果像我一樣,在某些情況下,如果您運行的舊版應用在某些情況下需要兼容模式,那么我可能會遇到來自地獄的過時意大利面條代碼,這可能不是一個可行的長期解決方案)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM