FastComments.com

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

Контекст

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

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

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

Примери кода ће користити нашу vanilla 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 је дизајниран да буде прилагођен, и фонт који користе наши видџети није изузетак.

По подразумевању, 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

Подразумевано, FastComments коментарски видгет ће аутоматски детектовати тмни режим на већини сајтова.

Када се открије тмни режим, FastComments ће прећи са црног текста на белој позадини на бели текст на црној позадини. Слике ће се такође променити.

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

Међутим, механизам детекције, који се ослања на одређивање "осветљености", можда неће омогућити тмни режим када желите. Да бисте га присилно омогућили, поставите ознаку hasDarkBackground на true на следећи начин:

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 тренутне странице ће бити сачуван уз коментар.

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

При преузимању и приказивању коментара, видџет за коментаре мора да зна са које странице да почне. По подразумевању, он почиње са прве странице и приказује само ту страницу.

Ако је потребно, тачна страница која треба да се прикаже може се проследити видџету за коментаре као подешавање 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

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


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

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

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

Шта је са SPAs, или Single-Page-Applications, где се страница или садржај на који су коментари везани мења динамички без поновног учитавања странице?

Angular, React, Vue, итд

Са нашим библиотекама као што су 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; // Ажурирамо и url, тако да обавештења могу упутити назад на праву страницу
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 pruža nekoliko načina za isticanje novih komentara.

Prvo i najvažnije, prema zadanim postavkama komentari koji su izazvali obavještenje unutar aplikacije (odgovori, odgovori u istoj niti, ili komentari na stranici na koju ste pretplaćeni), biće automatski istaknuti blagim sjajem avatara korisnika. Boja se može prilagoditi putem CSS-a koristeći is-unread klasu.

Komentari postavljeni u posljednjih 24 sata imaju 24hr klasu primijenjenu koja se može koristiti za stilizovanje.

Na kraju, svi novi komentari uživo koji se pojave u korisničkoj sesiji biće istaknuti nekoliko sekundi putem animacije. Ovo se radi pomoću

is-live CSS klase i takođe se može prilagoditi.

Шаблони е-поште 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 defaultu, FastComments widget će se vertikalno prilagoditi kako bi smjestio sve vidljive komentare. Paginacija se postiže pomoću dugmeta „Prikaži sljedeće“ na kraju tekuće stranice, jer smo utvrdili da je to interakcija koja većini korisnika najviše odgovara.

Međutim, postoje situacije u kojima je poželjno beskonačno skrolovanje. Na primjer, ovu funkciju koristimo u našem proizvodu Stream Chat.

Možemo sakriti dugmad „Prikaži sljedeće“ i prebaciti se na beskonačno skrolovanje 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

Ovo također zahtijeva dodavanje prilagođenog CSS-a. Dodajte prilagođeni CSS za selektor .comments kako biste omogućili skrolovanje, na primjer:

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

Potpuni 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 koristiti Widget Configuration UI umjesto toga zbog razloga performansi. Pogledajte dokumentaciju o prilagođenom CSS-u.

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


Да бисте онемогућили пагинацију, и приказали све коментаре одједном, поставите startingPage на -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

По подразумевано, 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:

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

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

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

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

SSO, или пријављивање једном пријавом, је скуп конвенција који вам омогућава да ви или ваши корисници користе FastComments без потребе да праве још један налог.

Под претпоставком да не дозвољавате анонимно коментарисање, налог је неопходан за коментарисање са FastComments. Ми овај процес пријаве чинимо врло једноставним — корисник само остави своју е-пошту када коментарише. Међутим, разумемо да је то и даље додатна фрикција коју неке странице желе да избегну.

Можемо смањити ту фрикцију тако што ћемо имати само један ток пријављивања за цео ваш сајт.

Како да га добијем?

Сви типови налога тренутно добијају приступ SSO. Међутим, максималан број SSO корисника варираће у зависности од вашег пакета. Као и код других функција, Pro планови и виши обезбеђују директну подршку за развој.

Поређајмо опције, а затим ћемо ући у детаље сваке.

Пренос корисника и коментара

Када мигрирате са платформе која има SSO као Disqus, већ ћете имати кориснике и њихове коментаре.

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

Сами корисници се аутоматски додају када први пут прегледају нише коментара. Алтернативно, они се могу претходно додати преко API-ја, али овај рад нема много предности.

Ако су коментари увезени, а SSO корисници нису ручно додати преко API-ја, онда ће коментари аутоматски бити мигрирани на налог корисника први пут када је он креиран када прегледа било коју нишу коментара. Они ће тада моћи да управљају, уређују и бришу коментаре које су оригинално написали.

Аутоматска миграција се врши путем е-поште или корисничког имена. Неке платформе не обезбеђују е-поште у експорту, као Disqus, тако да у том случају прелазимо на корисничко име.

  • Док год проследите подударајуће корисничко име, и е-пошту у SSO payload-у, ми ћемо додати е-пошту у појединачне објекте коментара тако да обавештења и помињања раде.

Ако је жеља да се ваши коментари и корисници увезу одједном, радите са подршком да мигрирате коментаре на одговарајуће налоге корисника након што су корисници увезени преко API-ја.

Дакле, да резимирамо најлакши пут за миграцију:

  1. Увезите коментаре.
    1. Аватари и други медији се мигрирају аутоматски ако користите Import UI у Manage Data -> Imports.
  2. Подесите Secure или Simple SSO.
  3. Допустите да миграција буде по кориснику аутоматски када се пријаве први пут.
    1. Ово обично додаје мање од секунде на учитавање странице ако корисник има мање од 50k коментара.

WordPress корисници

Ако користите наш WordPress plugin, онда нема потребе да пишете код! Једноставно идите на административну страницу плагина, кликните SSO Settings, а затим Enable.

Ово ће вас одвести до чаробњака једним кликом који ће креирати ваш API кључ, послати га вашој WordPress инсталацији и укључити SSO. Ми смо ово консолидовали у један клик ради ваше погодности.

Имајте на уму да ако инсталирате плагин први пут, мораћете да завршите процес подешавања пре него што видите админ страницу са дугметом SSO Settings.

WordPress SSO - Модератори

Имајте на уму да тренутно да би се ознака "Moderator" показала поред ваших модератора када они коментаришу помоћу FastComments WordPress плагина, они морају такође бити додати као модератори у FastComments контролној табли и имати верификовану е-пошту.

Прилагођене интеграције

За прилагођене интеграције постоје две опције.

Опција један - Secure SSO

Са Secure SSO, FastComments зна да је корисник који коментарише, гласа и чита коментаре стварни корисник на вашем сајту.

Док год креирате валидан payload, корисник ће увек имати беспрекорно искуство коментарисања.

Са Secure SSO, SSO payload се креира серверски користећи HMAC аутентикацију и потом прослеђује видгету на клијенту.

Са Secure SSO, налог корисника је потпуно одвојењ од остатка FastComments базе корисника. То значи да ако имамо два партнера Company A и Company B, сваки може имати SSO корисника са корисничким именом "Bob".

Захтеви

  • Нека основна знања о backend развоју.
  • Нека основна знања о руковању тајним API кључевима.
  • Нека основна знања о развоју API-ја или сервер-сајд рендеровању.

Предности

  • Сигурно.
  • Беспрекорно искуство коментарисања.

Недостаци

  • Захтева развој на серверској страни.

Ажурирање података о кориснику

Са Secure SSO, сваки пут када проследите sso user payload, ми ћемо ажурирати њихов налог са најновијим информацијама. На пример, ако корисник има корисничко име X, и ви проследите Y у SSO payload-у, њихово корисничко име ће постати Y.

Ако желите да уклоните вредности користећи овај приступ онда их поставите на null (не undefined).

Secure SSO API

Такође пружамо API за интеракцију са SSO корисницима. Погледајте the docs.

Имајте у виду да када користите Secure SSO, корисници се аутоматски креирају у позадини при учитавању странице. Не морате да масовно увозите своје кориснике.

Опција два - Simple SSO

Алтернатива Secure SSO је да једноставно проследите информације о кориснику видгету за коментарисање.

Прослеђивање е-поште са Simple SSO није обавезно, међутим без ње њихови коментари ће се показивати као "Unverified".

Напомена! Од почетка 2022. корисничка имена са Simple SSO не морају бити јединствена преко целог FastComments.com.

Идеално, Simple SSO треба изабрати само када се развија на платформи која не пружа приступ серверу.

Захтеви

  • Нека основна знања о развоју на страни клијента.
  • Потребно је познавати бар е-пошту корисника.

Предности

  • Једноставно.
  • Сва активност се и даље верификује.
  • Корисник никада не уноси своје корисничко име или е-пошту.

Недостаци

  • Мање сигурно него Secure SSO јер payload на клијентској страни може бити измештан да постане било који корисник.

Simple SSO API

Корисници који су аутоматски креирани путем Simple SSO тока се чувају као SSOUser објекти. Они се могу приступити и управљати преко SSOUser API-ја. Погледајте the docs.

Прилагођене интеграције - Једноставно једнократно пријављивање (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 није обавезно, међутим по подразумеваној вредности њихови коментари ће бити приказани као „Непотврђено“. Ако није достављена е-пошта, корисник не може бити потпуно аутентификован.
  • НОВО Од јануара 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

Све библиотеке за коментарски виџет (тренутно Angular, React, Vue) подржавају повратне позиве.

Повратни позиви се навode у објекту конфигурације, са истом сигнатуром за сваку библиотеку.

Подржани повратни позиви су:

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

Тачне сигнатуре можете пронаћи у TypeScript дефиницијама.

Ево примјера у којем су коришћени сви повратни позиви:

Примјери повратних позива
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; // врати true да би се спречило подразумевано понашање (отварање fastcomments.com корисничког профила).
31 },
32 onCommentSubmitStart: function(comment, continueSubmitFn, cancelFn) {
33 console.log('Trying to submit comment', comment);
34 setTimeout(function() { // емуловање асинхроног понашања (позив API-ја итд).
35 if(confirm('Should submit?')) {
36 continueSubmitFn();
37 } else {
38 cancelFn('Some optional error message');
39 }
40 }, 1000);
41 },
42 onCommentsRendered: function(comments) {
43 // коментари су сортирани према подразумеваној сорти на страници која може бити Most Relevant (нпр. највише гласова, итд), или Newest First
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 specificiranim urlId i sačuvan za upotrebu u alatima za moderaciju.

Podrazumevano se ovo preuzima iz document.title.

Ako želite, svoj naslov stranice možete navesti na sledeć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

Број коментара који се приказује на врху виджета за коментаре може да приказује или све „коментаре највишег нивоа“, што значи одговоре који су директно упућени самој страници или чланку, или може бити број свих уроњених коментара.

By default, this is true - it is a count of the latter - all comments. In older versions of the comment widget the default value is false.

We can change the behavior, so that it is a count of all nested comments by setting the countAll flag to 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

If we wanted the count to reflect only the top level comments, we set the flag to 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

Ово тренутно не може бити прилагођено без измена кода.

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

Lista ID-ova koja se koristi 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 biće prikazani samo korisnici iz drugih grupa nakon što otkucate znak @.

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