Jump to content
  • 0

конфликт двух библиотек на jQuery


rk48
 Share

Question

Здравствуйте, 

 

Я купил готовый шаблон с подключенными библиотеками jQuery

и у меня есть парочка своих файлов js в которых я тоже использую jQuery

 

вот приблизительно как это выглядит:

 

<script type="text/javascript" src="js-plugin/respond/respond.min.js"></script>
<script type="text/javascript" src="js-plugin/jquery-ui/jquery-ui-1.8.23.custom.min.js"></script>
<!-- third party plugins  -->
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="js-plugin/easing/jquery.easing.1.3.js"></script>
<!-- carousel -->
<script type="text/javascript" src="js-plugin/owl.carousel/owl-carousel/owl.carousel.min.js"></script>
 
это были "их" библиотеки
 
теперь мои:
    <script type="text/javascript" src="azure/js/jquery-2.0.3.min.js"></script>
 
 
    <script type="text/javascript" src="azure/js/assist.js"></script>
    <script type="text/javascript" src="azure/js/login_new.js"></script>
 

———————

так вот, когда я не подключаю библиотеку jquery-2.0.3.min.js

мои скрипты не работают, даже вот такой код не работает:

$(document).ready(function() {
    alert("!!!");
});
 
такой код тоже не работает:
$.noConflict();
jQuery( document ).ready(function( $ ) {
alert("!!!");
});
 

и наоборот, когда я подключаю библиотеку jquery-2.0.3.min.js

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

 

Что за чудеса?

Помогите разобраться, спасибо заранее.

 

 

Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

Какие ещё чудеса? Две версии jquery на одной странице — ничего удивительно, что не работает.

Используйте jQuery migrate.

 

а почему при отключенной моей версией jQuery не работает даже вот такой код:

$(document).ready(function() {
    alert("!!!");
});
?
неужели их версия не поддерживает даже это?
Link to comment
Share on other sites

  • 0

Не видя страницу, трудно сказать. Библиотека в коде расположена выше скрипта?

расположение такое

1. jQuery 1.8

2. их скрипты

3. jQuery 2.0

4. мои скрипты

 

если я пункт 3 убираю, то у меня даже 

$(document).ready(function() {
    alert("!!!");
});
не работает
Link to comment
Share on other sites

  • 0
По моему jquery ui это же не совсем jquery?

можно сказать даже что "совсем" не jQuery ))) Но как вариант что там всё в одном файле. Многие разработчики объединяют связанные библиотеки в один файл чтоб исключить лишний запрос к серверу.

Edited by wwt
Link to comment
Share on other sites

  • 0

пока только вот что удалось выяснить:

 

<script type="text/javascript" src="azure/js/jquery-1.8.3.min.js"></script>

 
их скрипты
<script type="text/javascript" src="js-plugin/isotope/jquery.isotope.min.js"></script>
<script type="text/javascript" src="js-plugin/isotope/jquery.isotope.sloppy-masonry.min.js"></script>
<script type="text/javascript" src="js/custom.js"></script>
 
мои скрипты:
 <script type="text/javascript" src="azure/js/login_new.js"></script>
 
в такой конфигурации их эффекты работают
мои скрипты, даже самые простые вообще не работают
 
но их скрипты работают только при jquery-1.8.3.min.js
я удалил их библиотеку jquery-1.8.3.min.js и заменил ее на скачанную с офиц. сайта jquery - их скрипты продолжили работать
но если взять 1.9 или 2.0 - то все их скрипты перестают работать.
 
если отключить custom.js - то их скрипты перестают работать
а мои начинают работать
 
все дело в их библиотеке custom.js - она что-то делает после чего мои скрипты перестают работать

 

Link to comment
Share on other sites

  • 0

пока только вот что удалось выяснить:

 

<script type="text/javascript" src="azure/js/jquery-1.8.3.min.js"></script>

 

их скрипты

<script type="text/javascript" src="js-plugin/isotope/jquery.isotope.min.js"></script>

<script type="text/javascript" src="js-plugin/isotope/jquery.isotope.sloppy-masonry.min.js"></script>

<script type="text/javascript" src="js/custom.js"></script>

 

мои скрипты:

 <script type="text/javascript" src="azure/js/login_new.js"></script>

 

в такой конфигурации их эффекты работают

мои скрипты, даже самые простые вообще не работают

 

но их скрипты работают только при jquery-1.8.3.min.js

я удалил их библиотеку jquery-1.8.3.min.js и заменил ее на скачанную с офиц. сайта jquery - их скрипты продолжили работать

но если взять 1.9 или 2.0 - то все их скрипты перестают работать.

 

если отключить custom.js - то их скрипты перестают работать

а мои начинают работать

 

все дело в их библиотеке custom.js - она что-то делает после чего мои скрипты перестают работать

Их код написан под jQuery 1.8.3 и видимо использует устаревший функционал которого в библиотеках выше 1.9.1 версии просто нет. А вы используете уже более новую версию библиотека. Вам ответили уже используйте jQuery Migrate Plugin.

Тоесть меняете их 1.8.3 на свою более высокой версии и сразу после нее подключаете jQuery Migrate Plugin (он добавляет устаревший функционал который убран в более новых версиях библиотеки), а уже потом всё остальное в том же порядке что и раньше

Edited by wwt
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy