Полезная информация


----

Начать новую тему Ответить на тему
АвторСообщение

 Сообщение Костыли или как подружить JQuery разных версий 
#1 

Аватар пользователя

Всем доброго времени суток и по просьбам читателей пишу данную мини-статейку. Речь в ней пойдет вот о чем ...

Всем известный факт - нельзя просто так подключить две разные версии скрипта JQuery, но я могу с этим поспорить ::yaz-yk: В помощь нам придут так называемые "костыли". Как их применять покажу на примере этого скрипта - viewtopic.php?f=144&t=1162 . По начальным условиям (просто для примера) у нас в шапку подключен уже JQuery версии 1.7.2, он очень для нас важен, но есть одно большущее НО - с данной версией не работает плавающая панель, а ей нужна версия 1.4.2. Что делать ? Использовать "костыли", а именно

1. Все имена файлов скриптов привести в следующий вид для порядка чтобы видеть версию. Например вместо
<script src="http://адрес до скрипта/jquery/1.4.2/jquery.min.js"  type="text/javascript"></script>
 

Переименовать чтобы было так
<script src="http://адрес до скрипта/jquery.1.4.2.min.js"  type="text/javascript"></script>
 


2. После строки подключения низшей версии скрипта (в нашем случае 1.4.2) вставляем такие строки
<script>
var jquery_1_4_2 = jQuery;
</script>
 


3. Использовать "костыль" следующим образом, для примера плавающей панели, БЫЛО
<script type="text/javascript">
    $(document).ready(function() {
      $("#sample-bar").jixedbar();
    });
</script>
 

СТАЛО
<script type="text/javascript">
// <![CDATA[
(function(){

    var $ = jQuery = jquery_1_4_2 ;
    $(document).ready(function() {
   
      $("#sample-bar").jixedbar();
    });})();
   // ]]>
</script>
 

Тобишь, чтобы обработчик понял, какой код какой версией jQuery обрабатывать мы заключаем этот самый код в такую конструкцию
<script type="text/javascript">
// <![CDATA[
(function(){

    var $ = jQuery = jquery_1_4_2 ;
а тута обрамляемый код
   })();
   // ]]>
</script>
 

Иными словами мы присваиваем переменной $ срабатывание нужной версии jQuery, а именно 1.4.2.
Хочу отметить то, что костыли применяются только к низшим версиям скрипта jQuery, высшие не трогаются !!!

Таким образом лично у меня уживаются jQuery версий 1.7.2 и 1.5.2. Надеюсь и у вас получится :bra_vo:


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#2 

Аватар пользователя

Подскажите пожалуйста. Что-то не понял.. вроде сначала мысль уловил, а потом вы привели пример и всё окончательно и бесповоротно запуталось и уже не стало быть похожим на начало инструкции. )) Просто по неопытности тяжко...

Итак существует задача и проблема. У меня на форуме сверху установлен слайдер, кусочек кода где у него подключена библиотека выглядит так:
<script type="text/javascript" src="http://velolida.by/styles/prosilver/slayder/js/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="http://velolida.by/styles/prosilver/slayder/js/jquery.nivo.slider.js"></script>
    <script type="text/javascript">
    $(window).load(function() {
        $('#slider').nivoSlider();
    });
    </script>
 

То есть самая первая строчка из этого кусочка, этот тот самый jquery-1.7.1.min.js
Теперь по ряду причин, мне вздумалось прикрутить ещё одну приблуду к форуму и там тоже используется библиотека и кусочек кода от туда выглядит вот так:
<script src='http://code.jquery.com/jquery-1.10.2.min.js'></script>
    <link rel='stylesheet' type='text/css' href='{ROOT_PATH}list_repeat/css/box-lid.css'>
    <link rel='stylesheet' type='text/css' href='{ROOT_PATH}list_repeat/css/box-lid-nav.css'>
    И так далее....
 

Если оставлять всё как есть, то после установки всего чего нужно, слайдер перестаёт отображаться, а вторая приблуда в принципе работает.
Если мы идём и у слайдера просто убираем строчку: <script type="text/javascript" src="http://velolida.by/styles/prosilver/slayder/js/jquery-1.7.1.min.js"></script>
Надеясь на то что хватит и одной библиотеки на сайте, то слайдер так не думает и продолжает не отображаться, до тех пор, пока у второй приблуды не уберёшь: <script src='http://code.jquery.com/jquery-1.10.2.min.js'></script>
а у слайдера оставишь. Но тогда слайдер работает, а приблуда нет.. )

Вопрос! можно ли применить ваш выше описанный костыль и если да, то продублируйте пожалуйста мою часть кода от слайдера, но уже с поправками. Так как у него 1.7.1 версия и я так понимаю она ниже чем 1.10.2
Заранее огромное спасибо за помощь. Хочется попробовать, вдруг заработают эти два нужных мне скрипта.


          Вернуться наверх  
 

#3 

Аватар пользователя

Никто не знает? )


          Вернуться наверх  
 

#4 

Аватар пользователя

Вечером попробую подсказать ибо у провайдера какие то проблемы, нет у меня пока что нормального интернета


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#5 

Аватар пользователя

Ап, чтобы сегодня точно не забыть после работы


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#6 

Аватар пользователя

ТАк-с, есть интересное наблюдение такая версия джиквери
Discovery писал(а):

jquery-1.10.2.min.js

Прекрасно уживается с 1.7.1 в phpbb 3.1, попробуйте подключать 1.7.1 после 1.10.2, как идет в коде 3.1

Второй вариант
<script type="text/javascript">
    $(window).load(function() {
        $('#slider').nivoSlider();
    });
    </script>
 

ЗАменить на
<script type="text/javascript">
(function(){

    var $ = jQuery = jquery_1_7_1 ;
    $(window).load(function() {
        $('#slider').nivoSlider();
    });

})();
    </script>
 


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#7 

Аватар пользователя

Спасибо. )) Может пригодится информация, но я уже просто другой слайдер подобрал и он теперь со всеми уживается, а все скрипты завёл на один джиквери и всё заработало.


          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

  Похожие темы  Автор  Ответов  Просмотров  Последнее сообщение 
Аватар пользователя Рождество в разных странах

DiviaThunder

10

841

Аватар пользователя

25 янв 2012, 21:05

DeaDRoMeO

Аватар пользователя Отображение форума в разных браузерах

inkvisitor7

10

646

Аватар пользователя

27 ноя 2012, 05:56

DeaDRoMeO

Случайный аватар. Пользователю рекомендуется загрузить свой аватар в Настройках профиля Одна и та же тема в разных форумах
Как сделать отображение одной темы в разных форумах?

forest88

7

821

Аватар пользователя

09 ноя 2014, 11:07

DeaDRoMeO

Аватар пользователя overall_header и jquery

Vl@d1m1r

12

780

Аватар пользователя

21 сен 2013, 00:09

brigadir

Аватар пользователя Если используются два jQuery.js

jasiuk

6

593

Аватар пользователя

09 ноя 2012, 05:37

DeaDRoMeO

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


cron

Самая неформальная поддержка phpBB :P