Wed Aug 09 2023
...
Оновлення меню коментарів
! Ця стаття містить технічну термінологію
Що нового
Деякі орендарі FastComments налаштовують віджет коментарів. Це створює контракт між вашими налаштуваннями та нашою реалізацією. Ми докладаємо всіх зусиль, щоб не порушити цей контракт, але в рамках цього оголошення у нас є невелика порушуюча зміна.
Для розробників
CSS селектор для меню коментарів було змінено.
Старий:
.comment .menu .menu-content
Новий:
.menu-content
Існуючі орендарі
Якщо ви вже використовуєте селектор "menu-content" - вітаємо! Ми перевірили всіх наших орендарів, які використовують цей селектор, та оновили їхні конфігурації віджетів, щоб уникнути збоїв.
Дайте нам знати, якщо у вас виникнуть будь-які проблеми.
Аргументація
Оскільки віджет коментарів був створений, меню коментарів було чисто CSS-орієнтованим випадаючим меню. Це гарний простий, швидкий спосіб реалізації випадаючого меню, яке також не потребує багато коду - це дизайн мета FastComments.
Однак, протягом років воно набуло проблем.
По-перше, коли область коментування має певну висоту і є прокруткою, як в Streaming Chat, доступ до меню внизу є складним, оскільки меню намагається виходити за межі зони прокручування. Це робить частину меню невидимою і вимагає, щоб ви рухали мишкою і знову наводили курсор на меню для виконання тієї роботи, яку ви тільки що намагалися виконати. Ми вважали, що це створює незручності під час використання.
Деякі обхідні шляхи були створені, такі як зміна напрямку меню вгору, але це також не працює, якщо висота віджету недостатня, і в меню багато дій - як для адміністраторів. У цьому випадку було б ідеально опустити меню вниз поза зону прокручування.
Переваги розміру
Однією з переваг цієї зміни є те, що ми змогли абстрагувати багато коду в асинхронно завантажуваний модуль. Це дозволить нам розширити дії, які ви можете виконувати з даними коментарів, не роблячи первинне завантаження віджету громіздким. Це викликає мережевий запит перший раз, коли ви наводите курсор на меню редагування, але первинний пакет є дуже маленьким (< 1kb), тому це не повинно бути дуже помітно.
Дуже складно продовжувати розвивати програмне забезпечення та зменшувати його розмір з часом. Зазвичай програмне забезпечення починає працювати швидко, а потім сповільнюється. Тому ми завжди раді поступово зберігати FastComments швидким:
Перед: 28.76kb gzipped (108.02kb всього)
Після: 28.39kb gzipped (105.79kb всього)
Менше коду також означає менше коду, який ваш браузер повинен аналізувати під час завантаження сторінки. Вплив цього зросте, коли буде додано більше функцій.
Переваги продуктивності
Старе меню рендерило всі елементи меню і завантажувало всі розширення, щоб дізнатися, чи мають розширення елементи для додавання, і також рендерило їх - для кожного коментаря - щоб вміст був готовий для вашої миші.
Зазвичай є лише 30 - 100 об'єктів, тому це зазвичай не є великою проблемою, але вплив зростав. Нова система усуває цю стурбованість, оскільки меню тепер рендериться лише на вимогу.
Компроміс полягає в тому, що нове меню позиціонується та рендериться за допомогою JS, щоб досягти бажаного результату. Ми будемо продовжувати оптимізувати його наскільки зможемо, однак наразі воно працює добре.
На закінчення
Дякуємо нашим клієнтам за терпіння під час впровадження цих змін. Сподіваємося, що ви продовжите любити FastComments.
На здоров'я!
