Оновлення глобальних скриптів і перехід на чистий JavaScript
У межах глобального оновлення всі основні скрипти сайтів платформи Hotlist.biz були переписані так, щоб працювати практично без використання бібліотеки jQuery.
Переваги такого підходу:
- Зменшення ваги сторінки: немає потреби завантажувати всю бібліотеку jQuery, що зменшує розмір скриптів і пришвидшує відображення сторінок.
- Підвищення продуктивності: нативний JavaScript працює швидше, особливо на мобільних пристроях і слабких браузерах.
- Контроль залежностей: кожен скрипт підключається лише за потреби.
- Гнучкість і масштабованість: код легко адаптується під нові функції без прив’язки до конкретної версії jQuery.
Поточна реалізація:
- В адмін-центрі jQuery і надалі підключається автоматично для підтримки застарілих плагінів.
- На фронтенді сайти тепер можуть повністю працювати на чистому JavaScript.
- Усі бібліотеки та додаткові скрипти завантажуються динамічно, на льоту, під конкретні завдання користувача, без попереднього завантаження великих файлів.
Основні оновлення:
- Спливаючі вікна та конструктор форм повністю переписані на нативний JS.
- Віджети товарів: слайдер товарів, режим свайпу, прокрутка пальцем і динамічне підвантаження контенту під час скролінгу.
- Меню: оновлено скрипти головного меню та простого мобільного меню.
- Оновлено скрипти сортування товарів.
- Кошик і додавання товарів:
- Оновлено модуль додавання товарів до кошика.
- Оновлено спінер і перемикач кількості товарів для додавання до кошика.
- Оновлено скрипт відображення варіантів товарів у списках і під час редагування за допомогою миші.
- Оновлено скрипт відображення товарів, доданих до кошика (спливаюче вікно при наведенні курсора на іконку кошика).
- AJAX-запити повністю переписані на стандартний JavaScript для завантаження сторінок, товарів, статей, форм і коментарів.
Плани на майбутнє:
- Поступовий перехід до повністю модульної архітектури без jQuery із збереженням сумісності з адміністративним інтерфейсом.
- Оскільки багато користувачів застосовують власні скрипти на jQuery, буде запроваджено глобальне налаштування для підключення бібліотеки до сайту за потреби.