Fullcalendar - невозможно прочитать свойство 'DayGrid' из неопределенного - PullRequest
1 голос
/ 09 февраля 2020

Я хотел бы использовать плагин Fullcalendar 4.2.0 для моего веб-сайта, но я получаю сообщение об ошибке:

Uncaught TypeError: Невозможно прочитать свойство 'DayGrid' undefined

Включенные js файлы:

<script src="include/plugins/fullcalendar-4.2.0/packages/core/main.min.js"></script>
<script src="include/plugins/fullcalendar-4.2.0/packages/core/locales-all.min.js"></script>
<script src="include/plugins/fullcalendar-4.2.0/packages/timegrid/main.min.js"></script>
<script src="include/plugins/fullcalendar-4.2.0/packages/interaction/main.min.js"></script>
<script src="include/plugins/fullcalendar-4.2.0/packages/bootstrap/main.min.js"></script>
<script src="include/plugins/fullcalendar-4.2.0/packages/daygrid/main.min.js"></script>
<script src="include/plugins/fullcalendar-4.2.0/packages/list/main.min.js"></script>

javascript код вызывающего абонента:

<script>
var calendar;
$(document).ready(function() {
  var calendarEl = document.getElementById('calendar');
  calendar = new FullCalendar.Calendar(calendarEl, {
    plugins: [ 'interaction', 'dayGrid', 'timeGrid', 'list' ],
    defaultView: 'timeGridWeek',
    locale: 'hu',
    height: "auto"
  });
  calendar.render();
});

</script>
<div id="calendar"></div>

Я пробовал этот код больше хостинг-провайдеров и работает хорошо, кроме одного. К сожалению, это основной хостинг-провайдер. Они не знают, в чем проблема.

Я не нашел решения ни на одном сайте.

Пожалуйста, помогите!

Полное сообщение об ошибке:

Uncaught TypeError: Cannot read property 'DayGrid' of undefined
    at n [as constructor] (main.min.js:20)
    at new n (main.min.js:20)
    at CalendarComponent.renderView (main.min.js:6232)
    at CalendarComponent.render (main.min.js:6184)
    at CalendarComponent.Component.receiveProps (main.min.js:3887)
    at Calendar.renderComponent (main.min.js:6795)
    at Calendar.executeRender (main.min.js:6755)
    at Calendar.render (main.min.js:6577)
    at HTMLDocument.<anonymous> (calendar.php:45)
    at l (jquery-3.3.1.min.js:2)

1 Ответ

1 голос
/ 11 февраля 2020

Мне удалось воспроизвести вашу ошибку в этой демонстрации: https://codepen.io/ADyson82/pen/KKppyxq

Поскольку трассировка стека показывает, что ошибка возникает в "timegrid.min. js", это было легко по той причине, что плагин timeGrid, похоже, полагается на плагин dayGrid. Конечно же, изменив порядок загрузки файлов так, чтобы dayGrid загружался до того, как timeGrid решит проблему.

Так что просто закажите ваши файлы следующим образом:

<script src="include/plugins/fullcalendar-4.2.0/packages/core/main.min.js"></script>
<script src="include/plugins/fullcalendar-4.2.0/packages/core/locales-all.min.js"</script>
<script src="include/plugins/fullcalendar-4.2.0/packages/daygrid/main.min.js"></script>
<script src="include/plugins/fullcalendar-4.2.0/packages/timegrid/main.min.js"></script>
<script src="include/plugins/fullcalendar-4.2.0/packages/interaction/main.min.js"</script>
<script src="include/plugins/fullcalendar-4.2.0/packages/bootstrap/main.min.js"></script>
<script src="include/plugins/fullcalendar-4.2.0/packages/list/main.min.js"></script>

Демонстрация: https://codepen.io/ADyson82/pen/QWbbOJv

Я также обнаружил, что эта зависимость на самом деле упоминается в документации fullCalendar здесь: https://fullcalendar.io/docs/timegrid-view (хотя досадно, что она не упоминается в списке плагинов на https://fullcalendar.io/docs/plugin-index).

...