FastComments.com Blog

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.

Ура!