Перестал работать слайдер

Регулярные обновления используемых библиотек, фрэймворков, cms и т.д., это, безусловно здорово, но, к сожалению, у этого процесса есть и обратная сторона. Продукты растут, добавляется функционал, и, как следствие, увеличиваются объемы и требования к ресурсам. Вместе с тем, обеспечивать поддержку части технологий применяемых ранее, ну как не вспомнить про любимый ie6, становится все более нерационально. Это происходит и с функциями, они обновляются, на смену старым приходят новые, поддержку старых разработчики прекращают.

Совсем недавно подобное произошло и с WordPress при его обновлении до версии 3.5, об этом я писал в заметке Ошибки и их исправление в WordPress 3.5. Так произошло и с jQuery, 15 января 2013 года она была обновлена до версии 1.9 — blog.jquery.com/2013/01/15/jquery-1-9-final-jquery-2-0-beta-migrate-final-released. Неплохое описание произошедших изменений можно найти тут – habrahabr.ru/post/165987.

Прошло всего три дня с момента обновления, но сообщения с заголовками: Перестал работать слайдер, Не работает выпадающее меню, Сломалась галерея, Не открываются фотографии, Перестал работать весь javascript и пр. уже появились в сети.

Одна из возможных причин, по которой могли перестать работать jQuery скрипты, может заключаться в том, как именно подключается библиотека jQuery. Довольно часто разработчики сайтов, стремясь ускорить загрузку сайта и снизить нагрузку на собственный сервер подключают ее из внешнего репозитория, например, по такой ссылке:

<script type='text/javascript' src='http://code.jquery.com/jquery-latest.min.js?ver=latest'></script>

Очевидно, что после обновления будет грузиться jQuery 1.9, и часть работавших ранее скриптов перестали работать. Судить об этом можно так как по приведенной выше ссылке будет подключаться latest, т.е. последняя версия.

Решение простое — использовать следующую ссылку для загрузки:

<script type='text/javascript' src='http://code.jquery.com/jquery-1.8.0.min.js'></script>

Здесь я указал версию 1.8.0, вы смело можете заменить ее на одну из более ранних, если требуется.

Убедиться в том, что причина именно в этом довольно легко, для этого потребуется любой из современных браузеров и умение пользоваться “инспектором кода” встроенным в них. Я, обычно, пользуюсь браузером Google Chrome, в нем для проверки потребуется нажать кнопку F12 или сочетание клавиш Ctrl+Shift+I, в закладке Elements раскрыть блок head и найти указанную на скриншоте ниже строку:

chrome-developer-tools
Инспектор кода Google Chrome в действии

Вообще, возможности Chrome Developer Tools гораздо более широки, чуть ранее я выкладывал ролик о том, как с помощью этого инструмента можно редактировать WordPress темы, прочтите – Использование Chrome Developer Tools для редактирования WordPress тем.

Вернуться к прежней версии библиотеки не единственно возможный вариант, еще несколько я привел в заметке Замена jQuery.browser в jQuery 1.9 и старше.

Опубликовано

Обратите внимание на предыдущие записи: