Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   НЕконфликтация библиотек: jQuery.noConflict().Я не нашел ответ на форуме.Прошу помочь (https://javascript.ru/forum/jquery/51599-nekonfliktaciya-bibliotek-jquery-noconflict-ya-ne-nashel-otvet-na-forume-proshu-pomoch.html)

roninr 12.11.2014 10:02

НЕконфликтация библиотек: jQuery.noConflict().Я не нашел ответ на форуме.Прошу помочь
 
Создаю сайт, базовых понятий у меня мало, но кое-что знаю.
У меня в теге "хед" подключаются определенные скрипты.

Теперь, если я хочу добавить свой скрипт (не прям-таки свой, а скачанный из интернета) jquery, работающий скажем с версией 1.8.2 или 2.0.0 у меня отключаются все остальные и новый либо вообще не работает либо некорректно работает. Т.е. получается вообще ничего не функционирует нормально. :-?

Задался вопросом как следать так, чтобы не конфликтовали библиотеки jquery? Нашел в интернете только jQuery.noConflict(). Но как его использовать что и куда в какой файл писать не знаю.

Вот из одного сайта например:
http://ruseller.com/jquery.php?id=61

Автор статьи пишет всякие коды, но не пишет куда их вставлять, в какие файлы, в кике теги. Я вот этого не пойму. :help:

Скажу, кстати, что я ничуточку не умею читать ни js ни все что с ним связано. Немного понимаю html и css. Сайт строю по принципу передергивания. Т.е. блоки из одной страницы шаблона перетаскиваю на другую. Иногда лезу в css и правлю там выравнивание, высоту, ширину блоков, цвет, шрифт, но не больше. Таким образом делаю создаю сайт, слегка изменяя данный вначале шаблон. Но захотелось красивостей jquery и я столкнулся с такой проблемой.

Помогите детально, не плюйте в убогого.

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

Код:

<script src="js/jquery_1.4.2.js"></script>
          <script src="js/jqueryui.js"></script>
          <script src="js/easing.js"></script>
          <script src="js/jquery.cycle.all.js"></script>
          <script src="js/tooltip/jquery.tools.min.js"></script>
          <script src="js/filterable.pack.js"></script>
          <script src="js/prettyPhoto/js/jquery.prettyPhoto.js"></script>
          <script src="js/chirp.js"></script>
          <script src="js/jquery.tabs/jquery.tabs.pack.js"></script>
          <script src="js/custom.js"></script>
         
          <script src="js/superfish-1.4.8/js/hoverIntent.js"></script>
          <script src="js/superfish-1.4.8/js/superfish.js"></script>

И вот код который мне надо вписать. Самый простой.

http://ruseller.com/lessons.php?rub=32&id=1888

Пункт 1: вписать код в тег хед
Пункт 2: просто вставил код на свою страницу, обернув в <div> с нужным мне классом
Пункт 3: создал новый файл css специально для галерейки. код вставил туда.
Пункт 4: ?????? Что значит активируем? Куда вставить этот код или где его найти.
Пункт 4: ?????? Что за настройки? где они хранятся? или где их прописать, в каком файле?

Спасибо!

danik.js 12.11.2014 11:03

Все просто - не нужно подключать дубликаты библиотек, даже если версии разные. Юзай 1.8.2. Если какой плагин откажется работать - поищи его обновленную версию, либо замени на аналог.
jQuery.noConflict() задуман для разрешения конфликта с другими библиотеками, занимающими функцию $, например MooTools.

Подключать же две либы jQuery, на 90% дублирующие друг друга - дибилизм полнейший.

roninr 12.11.2014 11:29

Цитата:

Сообщение от danik.js (Сообщение 340585)
Все просто - не нужно подключать дубликаты библиотек, даже если версии разные. Юзай 1.8.2. Если какой плагин откажется работать - поищи его обновленную версию, либо замени на аналог.
jQuery.noConflict() задуман для разрешения конфликта с другими библиотеками, занимающими функцию $, например MooTools.

Подключать же две либы jQuery, на 90% дублирующие друг друга - дибилизм полнейший.

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

roninr 12.11.2014 11:45

Цитата:

Сообщение от danik.js (Сообщение 340585)
Все просто - не нужно подключать дубликаты библиотек, даже если версии разные. Юзай 1.8.2. Если какой плагин откажется работать - поищи его обновленную версию, либо замени на аналог.
jQuery.noConflict() задуман для разрешения конфликта с другими библиотеками, занимающими функцию $, например MooTools.

Подключать же две либы jQuery, на 90% дублирующие друг друга - дибилизм полнейший.

уважаемый, а как мне тогда сделать? если у меня уже грузится 1.4.2 а новый скрипт который я хочу вставить использует (например) 2.0 ?
если я вот это
Код:

<script src="js/jquery_1.4.2.js"></script>
поменяю на
Код:

<script src="http://code.jquery.com/jquery-2.0.0.js"></script>
. Тогда должно сработать?

danik.js 12.11.2014 11:50

Цитата:

Сообщение от roninr
Тогда должно сработать?

Никто никому не должен ничего. Смена мажорной версии как-бы намекает:dance:

danik.js 12.11.2014 11:51

Цитата:

Сообщение от roninr
новый скрипт который я хочу вставить использует (например) 2.0 ?

Автор плагина - идиот, если плагин не будет работать с 1

roninr 12.11.2014 12:12

Цитата:

If you’re upgrading from a version before 1.9, we recommend that you use the jQuery Migrate plugin and read the jQuery 1.9 Upgrade Guide, since there have been a lot of changes. It’s easy to use the plugin, just include it in your HTML file after jQuery and open your browser console to see the messages it generates:

<script src="http://code.jquery.com/jquery-2.0.0.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.1.js"></script>
а еще у них на официальном сайте написано, что если я обновляю библиотеку надо второй код снизу прикрепить.

Тогда как мне совместить несколько скриптов для разных версий jquery?
1 - 1.4.2 + любая версия после 1.9(мой новый скрипт) + migration tool?
и
2 - 1.4.2 + 1.8.2 (например)

в каком порядке написать это все.
Если я все правильно понял, должно быть так:

1:
Код:

<script src="js/jquery_1.4.2.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.1.js">

< скрипт ></script>

2:
Код:

<script src="js/jquery_1.8.2.js"></script>

< скрипт ></script>


roninr 12.11.2014 12:15

поправьте меня пожалуйста. Уже второй день в интернете ищу на эту проблему и не могу понять чтобы вставить этот долбанный скрипт на сайт.

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

Aetae 12.11.2014 12:27

Второе. Классический "Dependency hell". Вам следует поискать версии плагинов такие, чтоб работали на одной версии jq. Или ручками поправить плагины до нужного состояния.

roninr 12.11.2014 12:34

Цитата:

Сообщение от Aetae (Сообщение 340602)
Второе. Классический "Dependency hell". Вам следует поискать версии плагинов такие, чтоб работали на одной версии jq. Или ручками поправить плагины до нужного состояния.

можно подробней про "ручками поправить"?


Часовой пояс GMT +3, время: 16:50.