Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

jQuery новых версий (1.9, 1.10, 1.11 ...): у вас есть проблемы?


Recommended Posts

В  ocStore 1.5.5.1.2 (последней на данный момент) используется jQuery ветки 1.7.*

Знаю, что была попытка выдать релиз данной версии с новой библиотекой jQuery.

Но почему то отказались, какой то конфликт был.

 

В недрах форума об этом уже писали.

 

Для меня это пока загадка, т. к. еще два года назад я уже использовал версию 1.9 для front-end-а.

Да, пришлось вместе с новой версией jQuery установить и другие библиотеки поновее, но в целом код js я не менял.

 

Сейчас я хотел бы все новые проекты делать только на новых версиях jQuery.

Т. к. в них учтены особенности новых браузеров и, самое главное, особенность планшетов и смартфонов, в том числе на windows 8 и windows phone.  Я думаю, что специалисты знают, что событие touchstart (прикосновение к сенсорному экрану) важно правильно распознавать и обрабатывать.  К сожалению, internet explorer даже 11-й версии не придерживается рекомендаций W3C, поэтому важно использование jQuery последних версий, если вы, конечно, желаете делать различия между событиями mouseover, click и touchstart.  Большинство разработчиков, правда, вообще в своих темах/шаблонах и модулях для front-end-а не заморачиваются этим вопросом.

 

Так почему же отказались в последней сборке ocStore от новой версии jQuery?

С чем несовместимость?

И почему это оказалась "неразрешимая" задача?

  • +1 1
Надіслати
Поділитися на інших сайтах

Нельзя, так как ВСЕ модули пишутся с использованием 1.7 и если вы установите 1.9 то может быть куча конфликтов. 
Например вот сегодня столкнулся при переносе модуля на opencart 2.0, .live не работает, уже вместо него .on и таких нюансов может быть очень много. 

Самостоятельно установить себе новую версию вы конечно можете, взяв на себя все проблемы потом, но добавлять это в релиз ocstore нельзя. 

Надіслати
Поділитися на інших сайтах

Нельзя, так как ВСЕ модули пишутся с использованием 1.7 и если вы установите 1.9 то может быть куча конфликтов. 

 

 

разве jquery-migrate не помогает?

которая как раз таки и сглаживает нюансы.

 

У меня не было проблем с модулями (благодаря jquery-migrate), потому и спрашиваю.

Пожалуйста, приведите пример несовместимых модулей. Интересно потестировать.

 

Вообще, это мрак какой-то использовать библиотеки 3-х и 4-х летней давности.

 

На крайний вариант, конечно, можно использовать две библиотеки jQuery одновременно: старую для старых модулей  и новую для новых.

Что собственно я и делал иногда.  Но иметь зоопарк jQuery в одном проекте - это как то некошерно совсем.

Надіслати
Поділитися на інших сайтах

Собственно необходимость возникла не ради самого "обновления", т. е. это не самоцель.

Просто не хватает возможностей старой библиотеки для реализации определенных идей.

 

вторая версия не всем подойдет.

Не достает поддержки ie6...ie8?

По мне, так это только плюс. не поддерживаю я ie8.

впрочем, меня вполне устраивает ветка 1.11. на 2-ю пока не переходил.

Надіслати
Поділитися на інших сайтах

Нельзя, так как ВСЕ модули пишутся с использованием 1.7 и если вы установите 1.9 то может быть куча конфликтов. 

Например вот сегодня столкнулся при переносе модуля на opencart 2.0, .live не работает, уже вместо него .on и таких нюансов может быть очень много. 

Самостоятельно установить себе новую версию вы конечно можете, взяв на себя все проблемы потом, но добавлять это в релиз ocstore нельзя. 

Уже года три пишу JS

if ($.isFunction($.fn.on)) {
..on(
} else {
..live(
}

И не встречал "не совместимость" со своим кодом jquery 1.7 или 2.x

Или просто привык уже так писать :)

 

Да и в других JS (сторонних), которые идут с модулями тоже не заметил "не совместимости". Все отлично работает на 1.7.x и 2.x (правда с jquery 1.6.x никто не хочет работать)

Надіслати
Поділитися на інших сайтах

Использую нужную мне версию (для 1.5.x новее, чем стоковая, для 2.0.x - старее) вместе с jQuery.noConflict

Надіслати
Поділитися на інших сайтах

если модуль использует плагины из jquery UI, то jquery-migrate не поможет

 

Много ли таких дополнений?

 

Я ставил свежий jQuery, соответственно и свежий jquery UI, плюс  jquery-migrate, плюс свежий color-box и еще соответствующие обновления. Конфликтов не обнаружил.  Разумеется, что все на свете дополнения не тестировал.

 

Мне кажется довольно странным подход, когда программист в свежих модулях (а все популярные регулярно обновляются) используют подход, ориентированный исключительно на библиотеки многолетней давности, которые вообще не учитывают особенности тех же тачскрин планшетов.  Такое впечатление, что живем в мире исключительно десктопов.

 

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

 

Уважаемый markimax использует же такой подход, и успешно.

 
Надіслати
Поділитися на інших сайтах

Просто сейчас проделал большую работу по тестированию поведения браузеров в различных тачскрин- планшетах и был весьма удивлен различному поведению одних и тех же браузеров на разных платформах.  Например, firefox 37 на android платформе генерирует touch-events (touchstart, например), но тот же firefox 37 на планшете с windows 8.1 не генерирут данное событие (только mousedown), приходится использовать нестандартный mozInputSource.  Хотя Chrome 41 как на андроиде, так и на windows 8.1 отлично поддерживает touchstart.  Кроме того одинаковые браузеры совершенно ведут себя по разному при использовании zoom-а на тачскрин-девайсах.  На андроиде при увеличении (zoom пальцами) происходит просто масштабирование страницы с появлением "полос прокрутки", а на windows 8.1 происходит изменение viewport-а, т. е. никаких полос прокрутки не возникает, а происходит подстраивание страницы адаптивного сайта под новый viewport.

 

И огромное количество дополненией (всякие меню "мега" и "супер пупер") либо просто отвратительно работают на тачскрин-девайсах, либо ими вообще нельзя пользоваться.  Хорошо бы на это обратили внимание разработчики.  Я вообще не вижу смысла делать красивые меню, ориентированные на испольование наведения мышки и использование при этом эффекта jquery UI (разумеется из старой коллекции).  Все это невозможно пользователю оценить на планшете! Это вообще не работает на нем.

 
Надіслати
Поділитися на інших сайтах

Я вообще не вижу смысла делать красивые меню, ориентированные на испольование наведения мышки и использование при этом эффекта jquery UI (разумеется из старой коллекции).  Все это невозможно пользователю оценить на планшете! Это вообще не работает на нем.

что такое планшет? - мобильное устройство! (неожиданно, да?)

так с чего это ты решил предъявлять претензии разработчикам, а не заказчикам за отсутствие бюджета для создания мобильной версии сайта? :?

Надіслати
Поділитися на інших сайтах

речь не только о меню jquery UI, в этой библиотеке много элементов, dialog например или slider.

 

вопрос в том, что после замены версии jquery и подключения migrate что-то может отвалиться. а кто это будет чинить?

автор модуля скажет "я использовал функции движка и не думал о том что кому-то взбредет в голову отключать скрипты с которыми работает мой модуль"

а у автора шаблона, обновившего jquery хватит знаний понять и починить проблему?

 

может возникнуть предложение не использовать javascript библиотеки, которые поставляет двиг, а добавлять каждый раз свои. но в этом случае магазин может превратиться в зоопарк с кучей разных "своих" colorbox-1.3.4 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.