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