Wed Aug 09 2023
...
Обновление меню комментариев
! Эта статья содержит технические термины
Что нового
Некоторые арендаторы FastComments настраивают виджет комментариев. Это создает контракт между вашими настройками и нашей реализацией. Мы делаем все возможное, чтобы не нарушить этот контракт, но в рамках этого объявления у нас есть небольшое изменение, которое нарушает совместимость.
Для разработчиков
CSS-селектор для меню комментариев был изменен.
Старый:
.comment .menu .menu-content
Новый:
.menu-content
Существующие арендаторы
Если вы уже используете селектор "menu-content" - поздравляем! Мы просмотрели всех наших арендаторов, использующих этот селектор, и обновили их конфигурации виджетов, чтобы предотвратить сбои.
Дайте нам знать, если у вас возникнут какие-либо проблемы.
Обоснование
С тех пор как был создан виджет комментариев, меню комментариев было чисто выпадающим списком с использованием CSS. Это приятный простой, быстрый способ реализовать выпадающее меню, которое также не требует много кода - дизайнерская цель FastComments.
Однако, с годами у него возникли проблемы.
Во-первых, когда область комментариев имеет определенную высоту и прокручивается, как в случае со Streaming Chat, доступ к меню внизу затруднен, так как меню пытается выйти за пределы прокручиваемой области контента. Это делает часть меню невидимой и требует, чтобы вы передвигали мышь и снова наводили курсор на меню, чтобы выполнить ту работу, которую вы только что пытались сделать. Мы считали, что это неудобно в использовании.
Были предприняты некоторые обходные пути, например, изменить направление меню вверх, но это тоже не работает, если высота виджета недостаточно велика и в меню много пунктов действий - например, для администраторов. В этом случае было бы идеально опустить меню вниз за пределы прокручиваемой области контента.
Преимущества изменения размера
Одним из преимуществ этого изменения является то, что нам удалось абстрагировать много кода в асинхронно загружаемый модуль. Это позволит нам расширить действия, которые вы можете выполнить с данными комментариев, не делая начальную загрузку виджета громоздкой. Это вводит сетевой вызов в первый раз, когда вы наводите курсор на меню редактирования, но начальный пакет очень маленький (< 1kb), поэтому это не должно быть очень заметно.
Очень трудно продолжать развивать программное обеспечение и одновременно снижать его размер со временем. Обычно программное обеспечение начинает быстро работать и становится медленным. Поэтому мы всегда рады работать над тем, чтобы сохранить FastComments быстрым:
До: 28.76kb сжатый (108.02kb всего)
После: 28.39kb сжатый (105.79kb всего)
Меньше кода также означает меньше кода для вашего браузера для разбора при загрузке страницы. Влияние этого увеличится по мере добавления новых функций.
Преимущества производительности
Старое меню рендерило все пункты меню и загружало все расширения, чтобы увидеть, есть ли расширения, которые необходимо добавить, и рендерило их тоже - для каждого комментария - чтобы контент был готов для вашей мыши.
Обычно это всего 30 - 100 объектов, так что это обычно не является большой проблемой, но влияние росло. Новая система устраняет эту проблему, так как меню теперь рендерится по запросу.
Компромисс состоит в том, что новое меню позиционируется и рендерится с использованием JS для достижения желаемого результата. Мы будем продолжать оптимизировать его по мере возможности, однако на данный момент оно работает хорошо.
В заключение
Спасибо нашим клиентам за терпение при внедрении этих изменений. Мы надеемся, что вы продолжите любить FastComments.
Ура!
