Не работает JS plugin без повторного подключения Jquery.min

Главные вкладки

Аватар пользователя NIKS_ArtReaktor NIKS_ArtReaktor 26 июля 2012 в 4:15

добавляю плагин jquery.backstretch.min.js на сайт.

Если подключить плагин jquery.backstretch.min.js - например в таком виде (в файле page--front.tpl.php):

drupal_add_js(drupal_get_path('theme', 'tour') . '/js/jquery.backstretch.min.js','file');

И далее добавляю настройки вызова фукнции - Не работает.

Если ПОВТОРНО подключить библиотеку jquery.min.js - РАБОТАЕТ.

drupal_add_js('/sites/all/modules/jquery_update/replace/jquery/1.5/jquery.min.js','file');
drupal_add_js(drupal_get_path('theme', 'tour') . '/js/jquery.backstretch.min.js','file');

И это не только с этим скриптом. Также было и с другим дополнительным.

Скажите ЧТО ДЕЛАЮ НЕ ТАК ?

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

(в гугле Background full screen (back-stretch) images in Drupal 7)

Комментарии

Аватар пользователя NIKS_ArtReaktor NIKS_ArtReaktor 20 августа 2012 в 12:51

В общем, подсмотрел в одноименном модуле backstretch

Там подрубается ОБА скрипта
min + "полный" скрипт.

После этого заработало без повторного подключения библиотеки Jquery

Аватар пользователя divined divined 20 августа 2012 в 19:06

Это из-за того что на странице у вас нет модуля который бы вызывал основную библиотеку, поэтому дочерняя библиотека и не работает.
Для темизации - библиотеки нужно подключать в теме theme_name.info в разделе javascripts

Аватар пользователя NIKS_ArtReaktor NIKS_ArtReaktor 22 августа 2012 в 13:57

Дело в том что и в info файле подрубал ТОЛЬКО минимизированную версию - и НЕ работало.

есть два джава скрипа, один минимизированный, а другой "полный".

что-то не хватает в минимизирванном, или друпал переколбасил jquery библотеку как-то...
потому что всегда порядок загрузки такой
/sites/all/modules/jquery_update/replace/jquery/1.5/jquery.min.js",
/misc/jquery.once.js",
/sites/all/modules/labjs/replace/drupal.js",

а уже потом все остальные скрипты.

------------

Если подрубить просто на html странице(без друпала)
jquery +
jquery.backstretch.min.js

то все работает.

-------------

Также прошу заметить, почему работать начинает ПОСЛЕ повторного подрубления такого же jquery что и в самой первой записи JS.
То-есть просто дублирую, запись и все работает. Smile

если подрубать ТОЛЬКО мин версию.

-----

Аватар пользователя divined divined 23 августа 2012 в 10:22

Я не уверен, но может дело в том что Друпал не работает с библиотекой 1.5 или возникает какой-то конфликт. Поэтому пока не отработают скрипты которые основаны на 1.4 вы не можете подрубить 1.5?

Аватар пользователя NIKS_ArtReaktor NIKS_ArtReaktor 23 августа 2012 в 11:48

Спасибо...

я перечитал кучу литературы, как правильно подрубать скрипты... и так и сяк...

но сори... Jquery update заменяет версию изначально уже на 1.5
тоесть другой библиотеки не учавствует... кроме как 1.5

вопрос сейчас в том, почему версия НЕ-min скрипта backstretch + версия мин - работают.

тоесть в дальнейшем сторонние скрипты нужно подрубать сначала не-Мин версии, если не работает - то полную...

повторюсь...

но когда было подрубка скриптов таким образом
/sites/all/modules/jquery_update/replace/jquery/1.5/jquery.min.js",
/misc/jquery.once.js",
/sites/all/modules/labjs/replace/drupal.js",
!!!
/sites/all/modules/jquery_update/replace/jquery/1.5/jquery.min.js",
/js/jquery.backstretch.min.js

то скрипт работал Smile

тоесть перевызов библиотеки - переписывал что-то.

еще раз спасибо за участие.

Аватар пользователя alias612 alias612 21 ноября 2013 в 16:36

Никто не разобрался в чем было дело? Столкнулся с тем же глюком. JQuery_update подключает библиотеку, но скрипт http://www.catchmyfame.com/2013/10/16/the-flick-scroller/ ее не видит, если руками добавить
< script src="https://code.jquery.com/jquery-ХХХ.min.js" >, то работает

От версии библиотеки (пробовал 1.7-1.10), хоста загрузки, версии сжатой/не сжатой не зависит.

скрипт flick-scroller тоже пробовал подключать по разному, копировал в тело страницы -- не заработало.

Хотя рукописные скрипты, использующие JQuery, работают....