Конфликты JS библиотек
Seditio.by » Наш блог » jQuery и JavaScript » Конфликты JS библиотек

Переменная $ стала ключевой переменной для многих JS-библиотек. Используют ее и два «титана»: jQuery и Mootools. Mootools ведет более жесткую политику и отдавать «$» никак не хочет. В результате этого возникает ряд ошибок и обе библиотеки отказываются работать.
Выручает jQuery. В ней же есть несколько способов избежать конфликтов. Рассмотрим эти способы подробно.
1 способ
После подключения библиотеки jQuery пишем следующий код:
jQuery.noConflict();
После этого подключаем остальные библиотеки Но теперь уже jQuery использует не «$», а переменную «jQuery»
2 способ
var $COTONTI = jQuery.noConflict(true);
Теперь мы используем не “$”, а переменную «$COTONTI»
3 способ
jQuery(function($) { /* любой ваш код $ */ });
Практическое применение и выводы
1. Я не могу сказать, что это хороший выход из положения. Мы обычно подключаем вторую библиотеку на сайт тогда, когда видим готовое решение для другой библиотеки, а в ответ получаем снижение скорости работы сайта, увеличение времени загрузки страницы. Но, поверьте, библиотеки равнозначны и если что-то уже реализовано для одной, значит и для второй уже есть вариант решения, просто надо хорошо поискать.
2. В CMF Cotonti по умолчанию используется библиотека jQuery, и если использовать пути решения конфликтов, то придется перелопатить все файлы, где используется данная библиотека и вручную переименовать переменную «$».
Так что используйте данные способы рационально!
Комментарии
Похожие страницы
Нет записей