FastComments.com

FastComments надає легкі автономні віджети підрахунку коментарів, які можуть відображати кількість коментарів для конкретних сторінок або публікацій. Ці віджети відокремлені від основного віджета коментування й призначені для використання в будь-яких місцях, де потрібно показати кількість коментарів без повного інтерфейсу коментування.

Доступні два типи віджетів підрахунку коментарів:

  1. Comment Count Widget - Для відображення кількості коментарів однієї сторінки
  2. Bulk Comment Count Widget - Для ефективного відображення кількості коментарів для кількох сторінок на одній сторінці

Ця стаття охоплює віджети для VanillaJS. Наші бібліотеки для React/Angular/тощо також мають власні віджети.

Встановлення віджета підрахунку коментарів Internal Link

Віджет підрахунку коментарів призначений для відображення кількості коментарів окремої сторінки. Він легкий і забезпечує оновлення в реальному часі, якщо налаштований.

Базове встановлення

Comment Count Widget Installation
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/widget-comment-count.min.js"></script>
3<div id="comment-count"></div>
4<script>
5 window.FastCommentsCommentCount(document.getElementById('comment-count'), {
6 tenantId: 'demo'
7 });
8</script>
9

Параметри конфігурації

Функція FastCommentsCommentCount приймає наступні параметри конфігурації:

  • tenantId (обов'язково): Ваш ідентифікатор орендаря FastComments
  • urlId (необов'язково): Ідентифікатор сторінки. За замовчуванням window.location.href, якщо не вказано
  • numberOnly (необов'язково): Якщо true, відображає лише число без тексту. За замовчуванням false
  • isLive (необов'язково): Якщо true, лічильник буде оновлюватися автоматично. За замовчуванням false

Розширені приклади

Користувацький URL ID

Comment Count with Custom URL ID
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/widget-comment-count.min.js"></script>
3<div id="comment-count-custom"></div>
4<script>
5 window.FastCommentsCommentCount(document.getElementById('comment-count-custom'), {
6 tenantId: 'demo',
7 urlId: 'my-custom-page-id'
8 });
9</script>
10

Відображення лише числа

Comment Count Number Only
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/widget-comment-count.min.js"></script>
3<div id="comment-count-number"></div>
4<script>
5 window.FastCommentsCommentCount(document.getElementById('comment-count-number'), {
6 tenantId: 'demo',
7 numberOnly: true
8 });
9</script>
10

Оновлення в реальному часі

Live Comment Count Updates
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/widget-comment-count.min.js"></script>
3<div id="comment-count-live"></div>
4<script>
5 window.FastCommentsCommentCount(document.getElementById('comment-count-live'), {
6 tenantId: 'demo',
7 isLive: true
8 });
9</script>
10

Методи віджета

Віджет повертає об'єкт з наступними методами:

  • destroy(): Видаляє віджет і очищає всі таймери
  • update(config): Оновлює віджет з новою конфігурацією

Приклад використання

Widget Methods Example
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/widget-comment-count.min.js"></script>
3<div id="comment-count-methods"></div>
4<script>
5 const widget = window.FastCommentsCommentCount(document.getElementById('comment-count-methods'), {
6 tenantId: 'demo'
7 });
8
9 // Update the widget to show a different page's count
10 setTimeout(() => {
11 widget.update({
12 tenantId: 'demo',
13 urlId: 'different-page-id'
14 });
15 }, 5000);
16
17 // Destroy the widget after 10 seconds
18 setTimeout(() => {
19 widget.destroy();
20 }, 10000);
21</script>
22

Стилізація

Віджет рендерить простий HTML з кількістю коментарів і постачається з мінімальною стилізацією. Ви можете налаштувати зовнішній вигляд за допомогою CSS:

Custom Styling
Copy CopyRun External Link
1
2<style>
3 .comment-count-styled {
4 background: #f0f0f0;
5 padding: 5px 10px;
6 border-radius: 15px;
7 font-size: 14px;
8 color: #666;
9 display: inline-block;
10 }
11</style>
12<script src="https://cdn.fastcomments.com/js/widget-comment-count.min.js"></script>
13<div id="comment-count-styled" class="comment-count-styled"></div>
14<script>
15 window.FastCommentsCommentCount(document.getElementById('comment-count-styled'), {
16 tenantId: 'demo'
17 });
18</script>
19

Масове встановлення віджетів підрахунку коментарів Internal Link

Віджет масового підрахунку коментарів призначений для ефективного відображення кількості коментарів для кількох сторінок на одній сторінці. Замість того, щоб робити окремі API-запити для кожного підрахунку коментарів, цей віджет групує запити для оптимальної продуктивності.

Базове встановлення

Bulk Comment Count Widget Installation
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/embed-widget-comment-count-bulk.min.js"></script>
3
4<!-- Multiple elements with comment counts -->
5<div class="fast-comments-count" data-fast-comments-url-id="page-1"></div>
6<div class="fast-comments-count" data-fast-comments-url-id="page-2"></div>
7<div class="fast-comments-count" data-fast-comments-url-id="page-3"></div>
8
9<script>
10 window.FastCommentsBulkCountConfig = {
11 tenantId: 'demo'
12 };
13</script>
14

Як це працює

Масовий віджет працює наступним чином:

  1. Сканує сторінку на наявність елементів з класом fast-comments-count
  2. Зчитує атрибут data-fast-comments-url-id з кожного елемента
  3. Групує API-запити для ефективного отримання кількох підрахунків коментарів
  4. Оновлює кожен елемент відповідною кількістю коментарів

Параметри конфігурації

Функція FastCommentsCommentCountBulk приймає наступні параметри конфігурації:

  • tenantId (обов'язково): Ваш ідентифікатор орендаря FastComments
  • apiHost (необов'язково): Користувацький API-хост, якщо ви використовуєте самостійно розміщений екземпляр

Приклад з реального життя

Ось практичний приклад, що показує, як ви можете використовувати масовий віджет у списку постів блогу:

Blog Post Listing with Comment Counts
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/embed-widget-comment-count-bulk.min.js"></script>
3
4<style>
5 .blog-post {
6 border: 1px solid #ddd;
7 margin: 10px 0;
8 padding: 15px;
9 border-radius: 5px;
10 }
11 .post-meta {
12 color: #666;
13 font-size: 14px;
14 margin-top: 10px;
15 }
16 .comment-count {
17 background: #e7f3ff;
18 padding: 2px 8px;
19 border-radius: 12px;
20 font-size: 12px;
21 display: inline-block;
22 }
23</style>
24
25<div class="blog-post">
26 <h3>How to Install FastComments</h3>
27 <p>Learn how to add FastComments to your website in just a few minutes...</p>
28 <div class="post-meta">
29 Published: March 15, 2024 |
30 <span class="fast-comments-count comment-count" data-fast-comments-url-id="how-to-install-fastcomments"></span>
31 </div>
32</div>
33
34<div class="blog-post">
35 <h3>Advanced FastComments Configuration</h3>
36 <p>Dive deep into the advanced configuration options for FastComments...</p>
37 <div class="post-meta">
38 Published: March 10, 2024 |
39 <span class="fast-comments-count comment-count" data-fast-comments-url-id="advanced-fastcomments-config"></span>
40 </div>
41</div>
42
43<div class="blog-post">
44 <h3>FastComments vs Other Solutions</h3>
45 <p>See how FastComments compares to other commenting solutions...</p>
46 <div class="post-meta">
47 Published: March 5, 2024 |
48 <span class="fast-comments-count comment-count" data-fast-comments-url-id="fastcomments-comparison"></span>
49 </div>
50</div>
51
52<script>
53 window.FastCommentsBulkCountConfig = {
54 tenantId: 'demo'
55 };
56</script>
57

Міркування щодо продуктивності

Масовий віджет автоматично оптимізує продуктивність за допомогою:

  • Групування запитів: Кілька підрахунків коментарів отримуються за один API-виклик
  • Обмеження розміру запиту: Запити автоматично розділяються, якщо список URL стає занадто великим (понад 1000 символів)
  • Дедуплікації: Кілька елементів з однаковим data-fast-comments-url-id використовують один і той же підрахунок

Кілька елементів з однаковим URL ID

Ви можете мати кілька елементів на сторінці з однаковим data-fast-comments-url-id. Всі вони будуть оновлені однаковою кількістю:

Multiple Elements Same URL ID
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/embed-widget-comment-count-bulk.min.js"></script>
3
4<style>
5 .count-example {
6 margin: 10px 0;
7 padding: 10px;
8 background: #f9f9f9;
9 border-radius: 5px;
10 }
11</style>
12
13<div class="count-example">
14 Header Count: <span class="fast-comments-count" data-fast-comments-url-id="shared-article"></span>
15</div>
16
17<div class="count-example">
18 Sidebar Count: <span class="fast-comments-count" data-fast-comments-url-id="shared-article"></span>
19</div>
20
21<div class="count-example">
22 Footer Count: <span class="fast-comments-count" data-fast-comments-url-id="shared-article"></span>
23</div>
24
25<script>
26 window.FastCommentsBulkCountConfig = {
27 tenantId: 'demo'
28 };
29</script>
30

Локалізація

Масовий віджет автоматично форматує підрахунки коментарів на основі ваших мовних налаштувань FastComments. Він надає відповідний текст для:

  • Нуля коментарів
  • Одного коментаря
  • Кількох коментарів

Коли використовувати масовий віджет проти одиничного

Використовуйте масовий віджет коли:

  • У вас є кілька підрахунків коментарів на одній сторінці
  • Ви відображаєте список постів/статей з кількістю коментарів
  • Продуктивність важлива (зменшує кількість API-викликів)

Використовуйте одиничний віджет коли:

  • Вам потрібен лише один підрахунок коментарів на сторінці
  • Вам потрібні оновлення в реальному часі (одиничний віджет підтримує оновлення в реальному часі)
  • Вам потрібен більший контроль над поведінкою окремого віджета

Віджети підрахунку коментарів FastComments надають простий і ефективний спосіб відображення кількості коментарів на вашому сайті.

Сподіваємося, ця документація була для вас корисною.