FastComments.com

Прилагођавања и конфигурација

Контекст

Овдје ћете пронаћи детаљну документацију о свакој функцији и поставци које коментарски видгет подржава.

Ова документација ће обухватити основне појмове и темељно проћи кроз сваки аспект функционалности, укључујући упутства корак по корак и уобичајене замке.

Пружићемо примјере кода са наглашеним релевантним линијама. Гдје је примјењиво, биће укључени снимци екрана страница за конфигурацију.

Примери кода користиће нашу ванила JavaScript библиотеку, међутим опције конфигурације користе тачно иста имена за све верзије коментарског видгета (React, Vue, итд).

Већина конфигурација и функција описаних у овом водичу не захтева писање кода.


Приказивање истих коментара на различитим страницама Internal Link

Пошто параметар urlId омогућава да дефинишемо којој страници, или id-у, су коментари везани, можемо једноставно поставити urlId на исту вредност на тим страницама.

The Same Comments on Multiple Pages
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "urlId": "https://example.com/source-page"
8}];
9</script>
10

Прилагођени фонтови Internal Link

FastComments је дизајниран да буде прилагодљив, и фонт који наши видгети користе није изузетак.

По подразумевaњу, FastComments користи system font stack да би изгледао што боље на широком спектру уређаја.

Да бисте дефинисали своје фонтове, погледајте Документација за прилагођени CSS.

Тамо ћете наћи начин да дефинишете прилагођени CSS, што ће вам омогућити да одредите жељене фонтове.

Како дефинисати фонт

Да бисте заменили фонт, препоручујемо да дефинишете свој CSS користећи селекторе .fast-comments, textarea. На пример:

Примјер прилагођеног спољног фонта
Copy CopyRun External Link
1
2@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap');
3.fast-comments, textarea {
4 font-family: 'Roboto', sans-serif;
5}
6

Подршка тамним позадинама (тамни режим) Internal Link

Po zadanim postavkama, FastComments widget za komentare će automatski prepoznati tamni režim na većini sajtova.

Kada se otkrije tamni režim, FastComments će prebaciti crni tekst na bijeloj pozadini u bijeli tekst na crnoj pozadini. Slike će se takođe promijeniti.

Pri učitavanju stranice, widget će pokušati odrediti koliko je tamna pozadina stranice iza widgeta za komentare. To znači da stranica može imati bijelu pozadinu, ali ako stavite widget za komentare unutar kontejnera s crnom pozadinom, tamni režim bi trebao i dalje automatski biti omogućen kako bi komentari bili čitljivi.

Međutim, mehanizam detekcije, koji se oslanja na određivanje "luminancije", možda neće omogućiti tamni režim kada vi to želite. Da biste ga prisilno omogućili, postavite hasDarkBackground zastavicu na true kako slijedi:

Force Dark Background Mode
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "hasDarkBackground": true
8}];
9</script>
10

Повезивање коментара са страницама Internal Link

Када шаљете обавјештења путем е-поште, или при приказивању коментара у корисничким интерфејсима као што је страница за модерацију, корисно је моћи повезати из коментара на страницу на којој се налази.

Ако URL ID није увијек прави ID, онда морамо похранити URL негдје друго. За то служи својство "url", дефинисано на сљедећи начин.

Defining a Custom URL
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "url": "https://example.com/article-5"
8}];
9</script>
10

Чест случај употребе је повезивање теме коментара са идентификатором, као што је чланак, а затим повезивање назад на одређену страницу, на примјер:

Defining Custom URL and URL IDs together
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "url": "https://example.com/article-5",
8 "urlId": "article-5"
9}];
10</script>
11

URL се не чисти од уобичајених маркетиншких параметара. По подразумевању, који год је тренутни URL странице, тај URL се складишти уз коментар.

Одређивање странице за приказивање Internal Link

Kada se preuzimaju i renderuju komentari, widget za komentare mora znati sa koje stranice da počne. Podrazumevano počinje od prve stranice i prikazuje samo tu stranicu.

Ako želite, tačnu stranicu koja treba da se prikaže možete proslediti widgetu za komentare putem podešavanja startingPage.

Specifying The Page to Render
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "startingPage": 1
8}];
9</script>
10

Imajte na umu da brojevi stranica počinju od nule, pa gornji primer prikazuje drugu stranicu.


Смена нитова коментара без поновног учитавања странице Internal Link

Објаснили смо како је urlId идентификатор странице или чланка на који су коментари везани.

Такође, у кратком прегледу, ако није дефинисан, urlId ће подразумјевано бити URL тренутне странице.

А шта је са SPA-овима, или апликацијама једне странице, гдје се страница или садржај на који су коментари везани мијења динамички без поновног учитавања странице?

Angular, React, Vue, etc

Са нашим библиотекама као што су Angular и React, једноставно ажурирање својства urlId које се прослијеђује видгету ће узроковати освежавање коментар-видгета. Ово можете видјети у пракси за React апликацију, на примјер, овдје.

VanillaJS

Ако користите VanillaJS библиотеку, ствари су мало сложеније јер нема фрејмворка попут Angular-а или React-а који би руковао везивањем података или пропагацијом стања.

Када инстанцирате VanillaJS видгет, он враћа неке функције које се могу позвати да га ажурирају.

Ево функционалног примјера у коме мијењамо хеш странице и ажурирамо коментар-видгет:

Примјер промјене хеша странице
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/embed-v2.min.js"></script>
3<button id="change-page"></button>
4<div id="fastcomments-widget"></div>
5<script>
6 (function fastCommentsMain() {
7 let config = {
8 tenantId: 'demo'
9 };
10 let instance = window.FastCommentsUI(document.getElementById('fastcomments-widget'), config);
11
12 let page = '#page-1';
13 function getNextPage() {
14 if (page === '#page-1') {
15 return '#page-2';
16 } else {
17 return '#page-1';
18 }
19 }
20
21 let button = document.getElementById('change-page');
22 function nextPage() {
23 page = getNextPage();
24 button.innerText = 'Go to ' + getNextPage();
25 window.location.hash = page;
26 let locationString = window.location.toString();
27
28 config.url = locationString; // We update url, too, so notifications can link back to the right page
29 config.urlId = locationString;
30
31 instance.update(config);
32 }
33 nextPage();
34 button.addEventListener('click', nextPage);
35 })();
36</script>
37

Онемогућавање преусмеравања слика Internal Link


Подразумевано, FastComments дозвољава корисницима да отпремају слике. Када корисник кликне на ту слику, FastComments ће, подразумевано, отворити нову картицу да прикаже ту слику у пуној величини. Постављање ове опције на true онемогућава ово понашање:

Disable Image Redirect
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "disableImageRedirect": true
8}];
9</script>
10

Ако не планирате сами да обрадите кликање на слику (погледајте onImageClicked), препоручујемо да се ово комбинује са неким стиловањем како би се уклонио утисак да је слика кликабилна.


Истакавање нових коментара Internal Link


FastComments нуди неколико начина за истакнување нових коментара.

First and foremost, by default comments that triggered an in-app notification (replies, replies in same thread, or comments on a page that you're subscribed to), will automatically be highlighted with the user's avatar glowing slightly. The color can be customized via CSS using the is-unread class.

Коментари објављени у посљедња 24 сата имају додељену 24hr класу која се може користити за стилизовање.

На крају, сви нови коментари уживо који се појаве у сесији корисника биће истакнути неколико секунди помоћу анимације. То се ради помоћу is-live CSS класе и такође се може прилагодити.


Обрасци е-поште Internal Link


Е-поруке које FastComments шаље вашим корисницима могу бити прилагођене. Шаблон, логика, и преводи могу бити промењени. Текст се може прилагодити по локалама, а стил чак се може промењити по домену. Сазнајте више о прилагођеним шаблонима е-порука овдје.


Постављање нових уживо коментара на дно Internal Link

По подразумевању, нови коментари уживо појављују се на врху листе коментара како се објављују у реалном времену.

Када је ова опција омогућена, нови коментари уживо ће уместо тога бити додани на дно листе. Ово утиче на то како се коментари појављују када су објављени уживо док корисници прегледају нит коментара.

New Live Comments to Bottom
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "newCommentsToBottom": true
8}];
9</script>
10

Када је ова поставка омогућена:

  • Нови коментари уживо које објаве други корисници појавиће се на дну листе коментара
  • Корисници ће видјети нове коментаре како се у реалном времену појављују испод постојећих коментара
  • Ово утиче само на ажурирања коментара уживо - не и на почетно учитавање странице
  • Ово може помоћи да се одржи ток читања када корисници прате дискусију

Напомена: ова поставка утиче само на то где се нови коментари уживо постављају када стигну у реалном времену. Она не утиче на почетни редослијед сортирања при учитавању странице.

Омогућавање бесконачног скроловања Internal Link

Po zadanim postavkama, FastComments widget će se vertikalno prilagoditi kako bi smjestio sve vidljive komentare. Paginacija se postiže putem dugmeta "Prikaži sljedeće" na kraju trenutne stranice, jer smo utvrdili da je to interakcija koja većini korisnika najviše odgovara.

Međutim, postoje slučajevi gdje je poželjnije beskonačno skrolanje. Na primjer, ovu funkcionalnost koristimo u našem Stream Chat proizvodu.

Možemo sakriti dugmad "Prikaži sljedeće" i prebaciti se na beskonačno skrolanje postavljanjem zastavice enableInfiniteScrolling na true:

Enabling Infinite Scrolling
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "enableInfiniteScrolling": true
8}];
9</script>
10

Za ovo je također potrebno dodati prilagođeni CSS. Dodajte prilagođeni CSS za selektor .comments da omogućite skrolanje, na primjer:

Omogući beskonačno skrolanje
Copy CopyRun External Link
1
2.comments {
3 max-height: 500px;
4 overflow-y: auto;
5}
6

Kompletan radni primjer bio bi:

Enabling Infinite Scrolling
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "enableInfiniteScrolling": true,
8 "customCSS": ".comments { max-height: 500px; overflow-y: auto; }"
9}];
10</script>
11

U gornjem primjeru koristimo svojstvo customCSS, međutim preporučuje se korištenje sučelja za konfiguraciju widgeta zbog razloga performansi. Pogledajte dokumentaciju za prilagođeni CSS.

Приказивање свих коментара одједном - онемогућавање пагинације Internal Link

Da biste onemogućili paginaciju i prikazali sve komentare odjednom, postavite startingPage na -1.

Render All Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "startingPage": -1
8}];
9</script>
10

Забрана нових коментара првог нивоа Internal Link

Постављање noNewRootComments на true ће узроковати да видгет сакрије поље за одговарање на коренском нивоу, али ће и даље дозволити корисницима да одговарају на подкоментаре. На пример, можете ово условно поставити при учитавању странице да бисте омогућили само неким корисницима да остављају коментаре највишег нивоа.

Prevent New Root Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "noNewRootComments": true
8}];
9</script>
10

Максимална дубина одговора Internal Link

По подразумевaњу, FastComments омогућава неограничено гнездење одговора, стварајући структуру нити у којој корисници могу бесконачно одговарати на одговоре.

Опција maxReplyDepth вам омогућава да ограничите колико дубоко нити одговора могу ићи. Када се достигне максимална дубина, корисници више неће видети дугме за одговор на коментарима на том нивоу.

Limiting Reply Depth to 2 Levels
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "maxReplyDepth": 2
8}];
9</script>
10

Са maxReplyDepth подешеним на 2:

  • Корисници могу остављати коментаре на највишем нивоу (depth 0)
  • Корисници могу одговарати на коментаре највишег нивоа (depth 1)
  • Корисници могу одговарати на те одговоре (depth 2)
  • Није дозвољено даље одговарање иза depth 2

Подешавање на 1 би омогућило само одговарање на коментаре највишег нивоа, стварајући равнију структуру дискусије.

Подешавање maxReplyDepth на 0 би онемогућило све одговоре, дозвољавајући само коментаре на највишем нивоу. Ако није наведено, одговори се могу гнездити без ограничења.

Преглед Једнократног пријављивања (SSO) Internal Link

SSO, odnosno jedinstvena prijava, je skup konvencija koje vam omogućavaju da vi ili vaši korisnici koriste FastComments bez potrebe za kreiranjem dodatnog naloga.

Ako ne dozvoljavate anonimno komentarisanje, nalog je obavezan za komentarisanje sa FastComments. Olakšavamo proces registracije — korisnik samo ostavi svoj e-mail kada komentariše. Ipak, razumijemo da i to predstavlja dodatnu barijeru koju neke stranice žele izbjeći.

Tu barijeru možemo smanjiti tako što ćemo imati samo jedan tok prijave za cijelu vašu stranicu.

How do I get it?

Svi tipovi naloga trenutno imaju pristup SSO-u. Međutim, maksimalan broj SSO korisnika varira u zavisnosti od vašeg paketa. Kao i za druge funkcije, Pro planovi i viši obezbjeđuju direktnu razvojnu podršku.

Uporedit ćemo opcije, pa zatim ćemo detaljno objasniti svaku.

User and Comment Migrations

Kada migrirate sa platforme koja koristi SSO, poput Disqus-a, već ćete imati korisnike i njihove komentare.

Komentari se uvoze kao dio vaše migracije, bilo putem API-ja, našeg Import UI-a, ili podrške za korisnike. Import UI je preporučljiv ako podržava platformu iz koje migrirate, jer uključuje rukovanje greškama, ekstrakciju i upload avatara i medija, i sistem za nadzor batch poslova.

Korisnici se dodaju automatski kada po prvi put pregledaju threadove komentara. Alternativno, mogu biti prethodno dodani putem API-ja, ali taj rad nema mnogo prednosti.

Ako su komentari uvezeni, a SSO korisnici nisu dodani ručno putem API-ja, komentari će se automatski migrirati na korisnički nalog prvi put kada se on kreira kada korisnik pregleda bilo koji thread komentara. Tada će moći upravljati, uređivati i brisati komentare koje su prvobitno napisali.

Automatska migracija se vrši putem e-maila ili korisničkog imena. Neke platforme ne daju e-mailove pri eksportu, kao Disqus, pa u tom slučaju prelazimo na korisničko ime.

  • Sve dok proslijedite podudarno korisničko ime i e-mail u SSO payloadu, dodaćemo e-mail u pojedinačne objekte komentara kako bi notifikacije i pominjanja funkcionisali.

Ako želite importovati komentare i korisnike odjednom, radite sa podrškom kako biste nakon uvoza korisnika putem API-ja migrirali komentare na odgovarajuće korisničke naloge.

Dakle, da sažmemo najlakši put za migraciju:

  1. Importujte komentare.
    1. Avatari i drugi mediji se migriraju automatski ako koristite Import UI u Manage Data -> Imports.
  2. Podesite Secure ili Simple SSO.
  3. Dozvolite da se migracija odvija po korisniku automatski kada se prijave prvi put.
    1. Ovo obično dodaje manje od sekunde na vrijeme učitavanja stranice ako korisnik ima manje od 50k komentara.

WordPress Users

Ako koristite naš WordPress dodatak, nema potrebe za pisanjem koda! Jednostavno otiđite na Admin stranicu dodatka, kliknite SSO Settings, i zatim Enable.

Ovo će vas odvesti do jednostavnog čarobnjaka sa jednim klikom koji će kreirati vaš API key, poslati ga na vašu WordPress instalaciju i uključiti SSO. Konsolidovali smo ovo u jedan klik za vas.

Imajte na umu da ako instalirate dodatak prvi put, moraćete završiti proces podešavanja prije nego što vidite administratorsku stranicu sa dugmetom SSO Settings.

WordPress SSO - Moderators

Imajte na umu da trenutno da bi se oznaka "Moderator" prikazala pored vaših moderatora kada komentarišu sa FastComments WordPress dodatkom, oni takođe moraju biti dodani kao Moderator u FastComments dashboardu i imati verifikovan svoj e-mail.

Custom Integrations

Za Custom integracije postoje dvije opcije.

Option One - Secure SSO

Sa Secure SSO-om, FastComments zna da je korisnik koji komentariše, glasa i čita komentare stvarni korisnik na vašoj stranici.

Sve dok kreirate validan payload, korisnik će uvijek imati besprekorno iskustvo komentarisanja.

Sa Secure SSO, SSO payload se kreira server-side koristeći HMAC authentication i zatim se prosljeđuje widgetu na client-u.

Sa Secure SSO, korisnički nalog je potpuno odvojen od ostatka FastComments baze korisnika. To znači da ako imamo dva partnera Company A i Company B, svaki od njih može imati SSO korisnika sa korisničkim imenom "Bob".

Requirements

  • Osnovno znanje o backend razvoju.
  • Osnovno znanje o rukovanju tajnim API ključevima.
  • Osnovno znanje o razvoju API-ja ili server-side renderovanju.

Pros

  • Sigurno.
  • Besprekorno iskustvo komentarisanja.

Cons

  • Zahtijeva backend razvoj.

Updating User Data

Sa Secure SSO-om, svaki put kada proslijedite sso user payload, mi ćemo ažurirati njihov korisnički nalog sa najnovijim informacijama. Na primjer, ako korisnik ima korisničko ime X, i vi proslijedite Y u SSO payloadu, njihovo korisničko ime će postati Y.

Ako želite ukloniti vrijednosti koristeći ovaj pristup, postavite ih na null (ne undefined).

Secure SSO API

Također pružamo API za interakciju sa SSO korisnicima. Pogledajte dokumentacija.

Imajte na umu da pri korištenju Secure SSO-a, korisnici se automatski kreiraju u pozadini pri učitavanju stranice. Ne morate masovno importovati svoje korisnike.

Option Two - Simple SSO

Alternativa Secure SSO-u je jednostavno prosljeđivanje informacija o korisniku widgetu za komentarisanje.

Nije obavezno prosljeđivati e-mail kod Simple SSO-a, međutim bez njega njihovi komentari će se prikazivati kao "Unverified".

NAPOMENA! Od početka 2022. korisnička imena kod Simple SSO-a ne moraju biti jedinstvena preko cijelog FastComments.com.

Idealno, Simple SSO bi se trebao birati samo kada razvijate na platformi koja ne pruža pristup backendu.

Requirements

  • Osnovno znanje o client-side razvoju.
  • Potrebno je znati bar e-mail korisnika.

Pros

  • Jednostavno.
  • Sva aktivnost se i dalje verifikuje.
  • Korisnik nikada ne unosi svoje korisničko ime ili e-mail.

Cons

  • Manje sigurno nego Secure SSO jer klijentski payload može biti konstruisan da postane bilo koji korisnik.

Simple SSO API

Korisnici koji su automatski kreirani putem Simple SSO toka se čuvaju kao SSOUser objekti. Mogu im se pristupiti i upravljati putem SSOUser API-ja. Pogledajte dokumentacija.

Прилагођене интеграције - Поједностављено једнократно пријављивање (SSO) Internal Link

Са Simple SSO можемо обезбиједити коментарски видгет информацијама о кориснику тако да не морају уносити своје корисничко име или е-пошту да би коментарисали.

Simple SSO можемо конфигурисати на сљедећи начин:

Simple SSO
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "simpleSSO": {
8 "username": "Bob",
9 "email": "bob@example.com",
10 "avatar": "https://example.com/bob.png",
11 "websiteUrl": "https://example.com/profiles/bob",
12 "displayName": "Bob's Name",
13 "displayLabel": "VIP User",
14 "loginURL": "https://example.com/login",
15 "logoutURL": "https://example.com/logout",
16 "badgeConfig": {
17 "badgeIds": [
18 "badge-id-1",
19 "badge-id-2"
20 ],
21 "override": false
22 }
23 }
24}];
25</script>
26

Корисник ће бити пријављен и иза сцене ће се креирати SSO корисник. Кориснику ће својство createdFromSimpleSSO бити постављено на true ако је преузет преко API-ја.

Notes:

  • Е-пошта је јединствени идентификатор за Simple SSO.
  • Обезбјеђивање е-поште уз Simple SSO није обавезно, међутим по подразумјеваној поставци њихови коментари ће се приказивати као "Unverified". Ако е-пошта није достављена, корисник не може бити у потпуности аутентификован.
  • NEW Од јануара 2022: Корисничка имена не морају бити јединствена на целом fastcomments.com
  • Simple SSO може аутоматски креирати и ажурирати SSO кориснике ако је обезбијеђена е-пошта и ако корисник није првобитно креиран преко Secure SSO.
  • Можете назначити значке за корисника помоћу својства badgeConfig. Низ badgeIds садржи ID-еве значки које треба повезати са корисником. Ако је override постављен на true, то ће замјенити све постојеће значке приказане на коментарима; ако је false, додаваће се постојећим значкама.

Прилагођене интеграције - Миграција са Disqus SSO Internal Link

Највеће разлике између Disqus-а и FastComments Secure SSO-а су у томе што Disqus користи SHA1 за енкрипцију, док ми користимо SHA256. Ово значи да је миграција са Disqus-а лака - промијените алгоритам хеширања који се користи са SHA1 на SHA256 и ажурирајте имена својстава која се прослеђују UI-ју.

Прилагођене интеграције - Миграција са Commento SSO Internal Link

Commento користи драстично другачији SSO приступ - они захтевају да имате endpoint који они позивају да аутентификују корисника. FastComments је обрнуто - једноставно кодирајте и хеширајте информације о кориснику користећи ваш тајни кључ и проследите их.

Повратни позиви Internal Link

Sve biblioteke za widget komentara (trenutno Angular, React, Vue) podržavaju povratne pozive.

Povratni pozivi se navode u objektu konfiguracije, sa istom potpisom za svaku biblioteku.

Podržani povratni pozivi su:

  • onInit
  • onAuthenticationChange
  • onRender
  • commentCountUpdated
  • onReplySuccess
  • onVoteSuccess
  • onImageClicked
  • onOpenProfile
  • onCommentSubmitStart
  • onCommentsRendered

Tačni potpisi se mogu naći u TypeScript definicijama.

Evo primjera koji koristi sve povratne pozive:

Primjeri povratnih poziva
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/embed-v2.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5 window.FastCommentsUI(document.getElementById('fastcomments-widget'), {
6 tenantId: 'demo',
7 onInit: function () {
8 console.log('Library started to fetch comments!');
9 },
10 onAuthenticationChange: function (eventName, userObj) {
11 console.log('User authenticated!', eventName, userObj);
12 },
13 onRender: function () {
14 console.log('Render event happened!');
15 },
16 commentCountUpdated: function (newCount) {
17 console.log('New comment count:', newCount);
18 },
19 onReplySuccess: function (comment) {
20 console.log('New comment saved!', comment);
21 },
22 onVoteSuccess: function (comment, voteId, direction, status) {
23 console.log('New vote saved!', comment, voteId, direction, status);
24 },
25 onImageClicked: function (src) {
26 console.log('Image clicked!', src);
27 },
28 onOpenProfile: function (userId) {
29 console.log('User tried to open profile', userId);
30 // return true; // vrati true da spriječi zadano ponašanje (otvaranje fastcomments.com korisničkog profila).
31 },
32 onCommentSubmitStart: function(comment, continueSubmitFn, cancelFn) {
33 console.log('Trying to submit comment', comment);
34 setTimeout(function() { // emuliranje asinhronog ponašanja (pozivanje API-ja itd).
35 if(confirm('Should submit?')) {
36 continueSubmitFn();
37 } else {
38 cancelFn('Some optional error message');
39 }
40 }, 1000);
41 },
42 onCommentsRendered: function(comments) {
43 // komentari su sortirani prema zadanoj opciji sortiranja na stranici, koja može biti 'Najrelevantnije' (npr. najviše glasova), ili 'Najnovije'.
44 const topCommentInList = comments[0];
45 console.log('First Comment Rendered:', topCommentInList.avatarSrc, topCommentInList.commenterName, topCommentInList.commentHTML);
46 }
47 });
48</script>
49

Наслови страница Internal Link


Trenutni naslov stranice je povezan sa naznačenim urlId i sačuvan za upotrebu u alatima za moderaciju.

Po defaultu, ovo se preuzima iz document.title.

Ako želite, svoj naslov stranice možete navesti na sljedeći način:

Specifying The Page Title
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "pageTitle": "Article 42"
8}];
9</script>
10

Број коментара и бројање свих угнеждених одговора Internal Link

Broj komentara prikazan na vrhu widgeta za komentare može ili prikazivati sve "top-level" komentare, što znači one odgovore koji su odgovori direktno na stranicu ili članak, ili može biti broj svih ugniježdenih komentara.

Po zadanoj postavci, ovo je true - to je broj potonjeg - svih komentara. U starijim verzijama widgeta za komentare zadana vrijednost je false.

Možemo promijeniti ponašanje, tako da predstavlja broj svih ugniježdenih komentara postavljanjem zastavice countAll na true.

Counting All Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "countAll": true
8}];
9</script>
10

Ako želimo da broj odražava samo komentare najvišeg nivoa, postavimo zastavicu na false.

Counting Top Level Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "countAll": false
8}];
9</script>
10

Ovo trenutno ne može biti prilagođeno bez izmjena koda.

Идентификатори група за помињање Internal Link


Lista ID-eva koja će se koristiti za automatsko dovršavanje @mentions. Korisno kada želite spriječiti označavanje korisnika koji nemaju zajedničke grupe.

Kada je navedeno, u automatskom dovršavanju će biti prikazani samo korisnici iz drugih grupa nakon što otkucate karakter @.

Limit Groups for Mentions
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "mentionGroupIds": [
8 "yxZAhjzda",
9 "QT19nXbqB"
10 ]
11}];
12</script>
13