FastComments.com


FastComments предоставя леки, самостоятелни джаджи за брой коментари, които могат да показват броя коментари за конкретни страници или публикации. Тези джаджи са отделни от основната джаджа за коментиране и са проектирани за използване навсякъде, където искате да показвате брой коментари без пълния интерфейс за коментиране.

Има два типа джаджи за брой коментари:

  1. Comment Count Widget - За показване на броя коментари за една страница
  2. Bulk Comment Count Widget - За ефективно показване на броя коментари за множество страници върху една страница

Тази статия обхваща VanillaJS джаджите. Нашите библиотеки за React/Angular/etc също имат свои джаджи.


Инсталиране на уиджет за брой коментари 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 предоставят прост и ефективен начин за показване на броя коментари в целия ви сайт.

Надяваме се, че тази документация ви е била полезна.