• HTML
  • JavaScript

Почему не работают скрипты при перемещении их вниз страницы?

Доброго дня! Подскажите в чем может быть проблема. На странице путь к встроенным скриптам script src="где находится" прописан в <head>.

Но как известно это не есть хорошо, при расположении их перед закрывающим </body> многие перестают функционировать. Например, slick.js. Библиотека jQuery расположена самой первой в списке.

Что можно придумать и как эту проблему решить?

В самом начале, в <head> - все ок. Все работает как надо.

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

Nik
Nik
Спасибо Александр! Как раз с зависимостями и была проблема, как Вы и писали выше, ну и плюс маленькая недоработка — пути не везде правильно прописал.
P.S Эх, Ваш сайт буквально просит полноценный форум! Так хоть с другими пользователями можно обменяться мнениями. Вижу ваш сайт востребован, я например практически к нему и обращаюсь, если что подзабыл, он как справочник, в закладках)))
Александр Мальцев
Александр Мальцев
Доброго! Чтобы решить эту проблему скрипты необходимо подключать в соответствии с их зависимостями. Например, если вы используется Bootstrap, то сначала необходимо подключить jQuery, т.к. он от него зависит. А, скрипты, которые уже зависят от Bootstrap, вы должны подключить после него.
Но, если вы используете CMS, то в них обычно имеются объекты (компоненты или дополнения), которые могут самостоятельно регистрировать CSS и JS на странице. Они могут быть написаны так, что регистрацию js-файлов они осуществляют в разделе head. А этот js-файл может быть написан с использованием jQuery. И если вы перенесёте подключение jQuery вниз (перед закрывающим тегом body), то появятся ошибки, т.к. эти скрипты без jQuery работать не могут. Тут либо разбираться с этими дополнениями, либо подключать, например, jQuery вверху.
Nik
Nik
Глупый вопрос задал, разобрался! Вообщем у кого подобные проблемы — F12 в хроме и станет ясно в чем проблема