Навигатор сайта : Разделы Информационные технологии Решение конфликта использования нескольких библиотек jQuery в одном коде

Решение конфликта использования нескольких библиотек jQuery в одном коде

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

Некоторые разработчики наивно полагают, что если в любое место Вашего кода вставить:

Код:

 

jQuery.noConflict ();

 

то проблема будет решена, но, к сожалению, в некоторых случаях это не помогает.

Правильным решением в данном случае будет последовательная загрузка библиотеки

jQuery нужной Вам версии и вставка сразу после неё кода:

 

Код:

 

var MyjQuery123 = jQuery.noConflict();

 

Можно вставить указанный выше код объявления Вашей переменной прямо в код библиотеки jQuery. Так будет надежнее.

В дальнейшем Вам нужно использовать Вашу переменную, например:

Код:

 

MyjQuery123(document).ready(function() { }

 

 

Удачных Вам проектов!

 

На сайте еще много интересного:

Навигатор сайта :

Стихотворения Авто Информационные техонологии Кино Кулинария Юмор Своё дело Акции Мысли English Остальное

 

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

Комментарии  

 
0 # Спасибо огромное за помощGuest 08.01.2013 10:47
Все работает спасибо огромное за помощь!!!!
Цитировать | Сообщить модератору
 
 
+2 # Когда нужен простой noConflictEcolora 13.03.2013 02:54
С другой стороны может возникнуть проблема в конфликте jQuery не с другой такой же библиотекой, а с Mootools.

Типичным признаком этого будет сообщение в Firebug-е:

Цитата:
TypeError: $(...).addEvent is not a function


Вот тогда Вам может помочь элементарная вставка кода после Вашей библиотеки jQuery:

Цитата:
jQuery.noConflict();


Поскольку этот код "очищает" указатель $ на переменную jQuery и теперь любой вызов $() не будет означать то же что и jQuery().

А $() как известно, как раз и используется в Mootools.
Цитировать | Сообщить модератору
 
 
0 # ответGuest 17.02.2014 06:11
гениально
Цитировать | Сообщить модератору
 
 
0 # Спасибо!!!Guest 19.04.2014 16:23
Убил целый день! Вот почему такие чёткие и простые решения не находятся сразу)
Цитировать | Сообщить модератору
 
 
0 # Пожалуйста!!!Ecolora 20.04.2014 00:14
Потому что сайт в бане у Яндекса (за сапоссылки), надеюсь временно. Поэтому рекомендую пользоваться поиском Google, всегда! Я им сам пользуюсь. Он больше сайтов найдет.
Цитировать | Сообщить модератору
 
 
0 # Не понимаюGuest 08.05.2014 15:22
Простите но я ничего не понял. Где и куда нужно вставлять?

Скажем был у меня один плагин, который вызываел первую jquery



дальше у меня есть второй плагин у которого вызов



Как сделать что бы оба плагина работало? Сделать так?



var MyjQuery123 = jQuery.noConflict();



var MyjQuery123 = jQuery.noConflict();

Прошу помогите ато я не понимаю, я в программировани и не силен
Цитировать | Сообщить модератору
 
 
0 # RE: Не понимаюEcolora 09.05.2014 06:03
Покажите эту статью разработчикам плагинов. Пусть они у себя правят.
Цитировать | Сообщить модератору
 
 
0 # RE: Решение конфликта использования нескольких библиотек jQuery в одном кодеGuest 03.10.2014 06:35
А у меня при добавлении этого кода, вообще перестает всё работать, раньше хотя бы одна работала галерея, а теперь вообще ни одна не работает :cry:
Цитировать | Сообщить модератору
 
 
0 # РазработчикамEcolora 03.10.2014 06:47
Здравствуйте. В данной статье изложен совет разработчику расширения. Если же вы делаете сайт, то наиболее правильным будет вообще исключить все загрузки библиотеки jQuery, кроме одной. По возможности - отключить в расширениях, или вырезать в коде, если не отключается.
Цитировать | Сообщить модератору
 
 
0 # 123Guest 28.08.2015 19:59
не говорите "guest" убил ...
Цитировать | Сообщить модератору
 
 
+1 # Спасибо!Толик 14.02.2016 16:21
Решение шикарное!
Бился 3 дня, пока не нашёл ваш сайт!
Спасибо!
Цитировать | Сообщить модератору
 

Добавить комментарий


Защитный код
Обновить

Картинки для mIRC  Критика и обсуждение Рекламы    Счетчик определения тИЦ и PR Яндекс.Метрика

для детей старше 12 лет