• MODX
  • JavaScript

Как перенести подключение JavaScript библиотек на MODX?

Добрый день!

Сайт создан на MODX. На сайте стоит Bootstrap 2.4.2. Когда ставили сайт html-страницу сделали с вызовами по блокам: head, navbar, footer.

Подключения файлов bootstrap.min.css, bootstrap.min.js, jquery.min.js были размещены в блоке head.

Сейчас гугл ругается на загрузку и рекомендует убрать их чердака head.

Пытался перенести код вызова Bootstrap и jQuery в подвал footer, но возникают ошибки в index.

Подскажите как это правильно сделать?

Комментарии: 2

Александр Мальцев
Александр Мальцев
Добрый! Это в MODX может случиться, когда, например, вызовы сниппетов, которые вы поместили в шаблон или в контент ресурса, регистрируют при парсинге страницы JavaScript код (js-файлы), написанный на jQuery, в раздел head страницы.

В этом случае, конечно, при подключении jQuery внизу HTML страницы (перед закрывающим тегом body), сценарии, зарегистрированные в разделе head и написанные на jQuery работать не будут. В результате страница будет функционировать не правильно, и в консоли браузера будут отображаться ошибки.

Чтобы это исправить, необходимо анализировать сниппеты и перенастраивать их, если есть такая возможность так, чтобы они регистрировали js-файлы внизу страницы. В некоторых случаях, если возможности перенастройки нет, потребуется изменять код сниппета.

Например, в сниппетах, регистрация js в head осуществляется так:
$modx->regClientStartupScript('assets/js/onload.js');
А, регистрация js перед закрывающим тегом body так:
$modx->regClientScript('assets/js/footer.js');
Алексей
Алексей
Спасибо, Александр!
Вопрос снялся сам собой после обновления MODX, ну и уже немного доработали.