Конфликты JavaScript — не работают виджеты

Не работают вкладки, рейтинг, карта Google. Что делать?

9.4/10 оценка (5 голосов)

Если у вас не работают вкладки, рейтинг, либо сломались другие виджеты на странице, то скорее всего появилась ошибка на сайте в JavaScript. Увидеть эту ошибку можно с помощью отладчика в браузере (нажав F12) на вкладке ошибок или в консоли.

Отладчик в браузере

Часто ошибка появляется из-за несовместимости различных расширений. Основная проблема несовместимости — если какое-нибудь другое расширение (или даже шаблон) использует собственный файл с jQuery. Поэтому рекомендуется использовать jQuery от JBZoo (Zoo).

Наш jQuery — это практически всегда последняя версия библиотеки. А как известно, он имеет очень хорошую обратную совместимость.

Одна из типичных ошибок представлена на следующем скриншоте

Типичные ошибки jQuery в консоли JavaScript

Как вы видите, jQuery не смог найти плагины tooltip и fancybox. Вместо них могу быть любые другие. Смысл в том, что после того, как эти плагины были объявлены (с помощью подключения JS-файла), следующее подключение jQuery «удаляет» их объявление, т.к. библиотека была инициализирована вторично.

Чтобы найти лишние подключения, нажмите Ctrl+U и у вас появится страница с кодом. На примере ниже показано, что файл № 2 предпочтительнее и должен подключаться выше всех (это произойдет автоматически). Остальные подключения лишние и скорее всего из сторонних расширений или шаблонов.

Важность расширений

Если у вас нет базовых знаний JavaScript, то попробуйте использовать специальные плагины Joomla, например, jQuery Easy или JB Library Plugin. Также, вы можете найти полезную информацию на сайте Yootheme (создатели шаблонов и расширений для Joomla).

Бывают случаи, когда мешает встроенный «ускоритель», который вырезает из HTML пробелы/переносы/комментарии, склеивает файлы CSS и JavaScript. Не все оптимизаторы хорошие, и умеют правильно сжимать код без ошибок. На этапе разработки предлагаем отключить их и включать только по завершению работ.

JavaScript

У меня остались вопросы, где я могу их задать?

Вы можете обратиться на наш специальный форум техподдержки JBZoo. Если у вас нет активного аккаунта со знаком «плюс» в тарифном плане, то вы можете задать свой вопрос в одном из этих разделов или на любой из наших контактов. Форум специально предназначен для JBZoo, приоритет и скорость ответа там выше.