Как заставить скрипты работать с jQuery ранее 1.7 [инструкция]

Список розділів Кухня Розробка

Опис: Пропозиції, питання, обговорення

#1 Nazar Tokar » 31.07.2013, 21:26

Обновлено: 2014-09-30

С версии Callme 2.0 и Buyme 1.4 неактуально: для нормальной работы требуется jQuery от 1.4.4.

CallMe и BuyMe требуют jQuery версии не ранее 1.7 и вот почему: начиная с этой версии в библиотеку добавлен обработчик on(), который заменил live(). Он умеет работать с событиями тех объектов, которые появились на странице динамически.

Форма скрипта загружается асинхронно и добавляется в код страницы после её загрузки. А значит, что классический метод обработки событий работать не будет и придётся пользоваться функцией on(). Это теория, чтобы вы понимали, зачем такие сложности.

Вариант №1

Самый простой: скачайте и замените этим callme.js тот, который у вас сейчас.

Вариант №2

Поменять функции вручную. На некоторых сайтах работают старые слайдшоу, выпадающие меню, скрипты зума картинок и так далее. Эти скрипты могут быть рассчитаны на старые версии jQuery и перестанут работать, если библиотеку обновить до текущей. В таком случае иногда проще поправить CM или BM, чем искать замену вашим винтажным скриптам.

Если ваша версия jQuery от 1.3 до 1.7, то наша задача сводится к замене обработчика on() на live().

Как править скрипты в jQuery от 1.3 до 1.7.

Открывайте файл callme.js или buyme.js и ищите все упоминания on(...) и заменяйте её на live(...).

Например, функция
Код: Виділити все
jQuery(document).on("click",".callme_viewform", function(e){
   cmeShw(e);
   return false;
});
...будет выглядеть так:
Код: Виділити все
jQuery(".callme_viewform").live("click", function(e){
   cmeShw(e);
   return false;
});

Если версия jQuery более ранняя, чем 1.3

Спойлер
В таком случае я вам настоятельно рекомендую обновить JQ до более-менее свежей версии. Если по каким-то причинам это сделать нельзя, скрипт работать не будет.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2509
Теми: 100
З нами: 4 роки 7 місяців

Не работает

#2 kerk » 25.10.2013, 18:02

Здравствуйте. Большое спасибо за бесплатный скрипт! К сожалению, у меня возникла проблема.

Сайт на Joomla 2.5.14 + VirtueMart 2
Подключён jquery.min.js версии 1.6.1
Сделал всё по инструкции, кнопка есть, но на клик не реагирует. Файлы из архива все закачал, проверял 2 раза. В консоле ошибок нет. Кеш чистил, проверял в Опере и Хроме. Не знаю что не так...
Автор блога: site-on.net
kerk
Репутація: 1
Повідомлення: 5
З нами: 4 роки

#3 Nazar Tokar » 25.10.2013, 18:09

kerk, при правильной настройке скрипт работает с версией jquery до 1.4 включительно. Ошибка в настройках.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2509
Теми: 100
З нами: 4 роки 7 місяців

#4 kerk » 02.11.2013, 23:40

Нет, не в настройках, нужно было переделать buyme.js немного по-другому, чем в инструкции выше. Я написал про Ваш скрипт на своём блоге, заодно оставил открытые ссылки в знак благодарности за бесплатность скрипта + выложил изменённый buyme.js.
Собственно, сама тема: Скрипты быстрой покупки для Joomla 2.5 + VirtueMart 2
Автор блога: site-on.net
kerk
Репутація: 1
Повідомлення: 5
З нами: 4 роки

#5 Nazar Tokar » 03.11.2013, 18:37

kerk, спасибо за упоминание о скрипте.
А что именно вы меняли в buyme.js кроме on на live?
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2509
Теми: 100
З нами: 4 роки 7 місяців

#6 Vitas » 30.01.2014, 13:38

Я решил свою проблему.
Скрипт оставил как есть, но jquery подключил с сайта google, после чего и старая галерея на сайте работает и работает форма. Теперь ее настроить осталось и почту вбить
Vitas
Репутація: 0
Повідомлення: 2
З нами: 3 роки 9 місяців

#7 Nazar Tokar » 30.01.2014, 14:05

Vitas, если вы подключили ту же версию, то это говорит только о том, что до этого ваша библиотека не была подключена. Так как разницы никакой нет — jquery одной и той же версии абсолютно одинаков что с гугла, что с jquery.com.
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2509
Теми: 100
З нами: 4 роки 7 місяців

#8 MVS » 30.01.2014, 14:10

#6 Vitas » 30.01.2014, 13:38
Я решил свою проблему.
Скрипт оставил как есть, но jquery подключил с сайта google, после чего и старая галерея на сайте работает и работает форма. Теперь ее настроить осталось и почту вбить
Тем более что если подключили с google, то это хуже чем со своего сайта, будет медленнее загрузка сайта, так как скрипт грузится со стороннего ресурса.
Зображення
MVS M
Модератор
Аватар
Вік: 41
Звідки: Украина
Репутація: 48
Повідомлення: 146
З нами: 4 роки 7 місяців

#9 Darina.SHCHerbina » 12.02.2014, 19:51

Здравствуйте!
Установила Ваш модуль BuyMe на Prestashop 1.5.6.2 так как было описано в инструкциях. У всех работает, а у меня выпендривается(иль ручки кривые). А по факту: при клике на "Купить в 1 клик" товар отправляется в корзину и ... все ... дальше обычная томная регистрация при заказе.
Вопрос: что могло подключиться не так??? Скажите, пожалуйста
Darina.SHCHerbina
Аватар
Вік: 31
Репутація: 0
Повідомлення: 3
З нами: 3 роки 9 місяців

#10 Nazar Tokar » 12.02.2014, 20:17

Darina.SHCHerbina, дайте ссылку
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2509
Теми: 100
З нами: 4 роки 7 місяців

#11 Darina.SHCHerbina » 13.02.2014, 11:55

Сайт в разработке так что не пугайтесь внешнего вида, там при клике на "заказать в один клик" прописывается class="b1c exclusive" и на пару секунд exclusive_disable, в общем на клик реагирует также как и встроенная родная кнопка покупки, файлы прикреплены, библиотека jquery 1.7.2.
Darina.SHCHerbina
Аватар
Вік: 31
Репутація: 0
Повідомлення: 3
З нами: 3 роки 9 місяців

#12 MVS » 13.02.2014, 12:39

Замените у себя строку
Код: Виділити все
<input type="button" class="b1c" value="Купить за 1 клик">
на
Код: Виділити все
<span class="b1c" style="color: #000000;padding: 6px 8px;font-size: 11px;height: 12px !important;width: 91px !important;margin: 30px 0 0 80px;background: rgb(255, 194, 0) !important;display: block !important;box-shadow: 0 0 #999;border: 1px solid #cc9900;
">Купить за 1 клик</span>
Это решение замены поля input к которому добавляется неким образом class "exclusive", на обычную нарисованную кнопку.
В общем смысл тот, что нужно вместо "input" в том месте иметь span или font или просто изображение прилепить, что не добавлялся class "exclusive"

Это пример, и его нужно переделать - показал для того, чтоб Вы уловили суть, что мешает работать "Купить за 1 клик"
Зображення
MVS M
Модератор
Аватар
Вік: 41
Звідки: Украина
Репутація: 48
Повідомлення: 146
З нами: 4 роки 7 місяців

#13 Darina.SHCHerbina » 13.02.2014, 13:51

MVS спасибо, Вы мне очень помогли! :dance:
Darina.SHCHerbina
Аватар
Вік: 31
Репутація: 0
Повідомлення: 3
З нами: 3 роки 9 місяців

#14 o.pruska » 27.02.2014, 21:59

Для quickbox.js это применимо?
В общем, применила, не сработало. Знать бы, и правильно, что не сработало или же только у меня.

Додано через 1 годину 44 хвилини:
o.pruska написав:Для quickbox.js это применимо?

Свой вопрос снимаю. Заработало.
Хочу сказать спасибо за хороший и бесплатный скрипт quickBox. Буду ставить CallMe

Моё решение: У меня Drupal 6, который работает только с jQuery 1.3.
Поставила дополнительный модуль jQuery Multi и подключила jQuery 1.11. Заработало
o.pruska
Вік: 34
Репутація: 0
Повідомлення: 4
З нами: 3 роки 8 місяців

#15 Зоркий » 03.03.2015, 21:21

Помогите!
Мучаюсь пол дня.
На одном сайте работет, на др. - нет
Есть такое дело.. у заказчика сайта на ... Ваш вариант - прекрасный, красивый - хороший вариант формы заказа звонка, но письма не отправляются. Думается из-за несовместимости с jquery (на сайте более старая, чем надо кое-как обновил до 1.7.2 сильнее обновишь - слайдер не работает)сайт - не рекламы ради ... Вот не знаю, что делать
Вот так и подвисает

Кстати, обновляю jquery до последней версии - слайдер не работает, но и письмо так же не уходит
Зоркий
Вік: 36
Репутація: -1
Повідомлення: 1
З нами: 2 роки 8 місяців

#16 Nazar Tokar » 04.03.2015, 09:56

Зоркий, оба сайта ушли в чёрный список за удаление копирайта без оплаты. :clap:
Читайте твітер.
Nazar Tokar M
Автор теми, Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2509
Теми: 100
З нами: 4 роки 7 місяців


Повернутись в Розробка

Хто зараз на форумі (базується на активності користувачів за останні 30 хвилин)

Зараз переглядають цей розділ: 1 гість