FastComments.com

Tilpasninger og konfiguration

Kontekst

Her finder du dybdegående dokumentation om hver af de funktioner og indstillinger, som kommentar-widget'en understøtter.

Denne dokumentation dækker kernebegreber og går i dybden med hvert funktionalitetsområde, med vejledninger og almindelige faldgruber.

Kodeeksempler vil blive vist, med relevante linjer fremhævet. Skærmbilleder af konfigurationssider vil blive vist, hvor det er relevant.

Kodeeksemplerne vil bruge vores vanilla JavaScript-bibliotek, men konfigurationsmulighederne bruger de præcis samme navne for alle versioner af kommentar-widget'en (React, Vue osv.).

De fleste konfigurationer og funktioner, der er skitseret i denne guide, kræver ikke, at der skrives kode.


Visning af de samme kommentarer på forskellige sider Internal Link

Da urlId-parameteren lader os definere, hvilken side eller id kommentarerne er knyttet til, kan vi ganske enkelt sætte urlId til den samme værdi på disse sider.

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

Brugerdefinerede skrifttyper Internal Link

FastComments er designet til at blive tilpasset, og skrifttypen vores widgets bruger er ingen undtagelse.

Som standard bruger FastComments system font stack for at se så godt ud som muligt på en bred vifte af enheder.

For at definere dine egne skrifttyper, se Dokumentation for brugerdefineret CSS.

Der finder du en måde at definere brugerdefineret CSS på, som gør det muligt at angive de skrifttyper, du ønsker.

Sådan defineres skrifttypen

For at tilsidesætte skrifttypen anbefaler vi, at du definerer din CSS ved hjælp af .fast-comments, textarea selektorerne. For eksempel:

Eksempel på ekstern brugerdefineret skrifttype
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

Understøttelse af mørke baggrunde (mørk tilstand) Internal Link

Som standard vil FastComments kommentar-widget automatisk opdage mørk tilstand på de fleste websteder.

Når mørk tilstand opdages, skifter FastComments fra sort tekst på hvid baggrund til hvid tekst på sort baggrund. Billeder vil også ændre sig.

Når siden indlæses, vil widget'en forsøge at bestemme, hvor mørk baggrunden på siden er bag kommentarfeltet. Det betyder, at siden kan have en hvid baggrund, men hvis du placerer kommentarfeltet inde i en container med en sort baggrund, bør mørk tilstand stadig automatisk blive aktiveret for at gøre kommentarerne læsbare.

Dog kan detektionsmekanismen, som er afhængig af at bestemme "luminans", muligvis ikke aktivere mørk tilstand, når du ønsker det. For at tvinge den til at aktivere mørk tilstand, sæt hasDarkBackground-flaget til true som følger:

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

Linke fra kommentarer til sider Internal Link

Når du sender notifikations-e-mails, eller gengiver kommentarer i brugergrænseflader som moderationssiden, er det nyttigt at kunne linke fra kommentaren til den side, den står på.

Hvis URL ID ikke altid er et ID, så er vi nødt til at gemme URL'en et andet sted. Det er det, "url" property er til, defineret som følger.

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

Et almindeligt brugsscenarie er at knytte kommentartråden til en identifikator, som en artikel, og derefter linke tilbage til en bestemt side, for eksempel:

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'en bliver ikke renset for almindelige marketingparametre. Som standard gemmes præcis den aktuelle side-URL sammen med kommentaren.

Bestemme hvilken side der skal gengives Internal Link

Når der hentes og gengives kommentarer, skal kommentarwidgeten vide, hvilken side den skal starte på. Som standard starter den med den første side og gengiver kun den side.

Hvis ønsket, kan den præcise side, der skal gengives, sendes til kommentarwidgeten som indstillingen 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

Bemærk, at sidetal begynder ved nul, så ovenstående eksempel gengiver den anden side.


Skifte kommentartråde uden at genindlæse siden Internal Link

Vi har gennemgået, hvordan urlId er id'et for siden eller artiklen, som kommentarerne er tilknyttet.

For at opsummere: hvis ikke defineret, vil urlId som standard være den aktuelle sides URL.

Hvad med SPAs, eller Single-Page-Applications, hvor siden eller indholdet, som kommentarerne er tilknyttet, ændrer sig dynamisk uden en ny sideindlæsning?

Angular, React, Vue, osv.

Med vores biblioteker som Angular og React vil en simpel opdatering af urlId-egenskaben, der sendes til widget'en, få kommentarswidget'en til at opdatere. Du kan se dette i praksis for React-appen, for eksempel, her.

VanillaJS

Hvis du bruger VanillaJS-biblioteket, er det en smule mere kompliceret, da der ikke er et framework som Angular eller React til at håndtere databinding eller udbredelse af tilstand.

Når du instantierer VanillaJS-widget'en, returnerer den nogle funktioner, der kan kaldes for at opdatere den.

Her er et funktionelt eksempel, hvor vi ændrer side-hashen og opdaterer kommentarswidget'en:

Eksempel på skift af side-hash
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

Deaktivere billedomdirigering Internal Link

Som standard tillader FastComments brugere at uploade billeder. Når en bruger klikker på det billede, åbner FastComments som standard, en ny fane for at vise billedet i fuld størrelse. At sætte denne indstilling til true deaktiverer denne adfærd:

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

Hvis du ikke planlægger at fange klik på billedet selv (se onImageClicked), anbefaler vi, at dette kombineres med noget styling for at fjerne indtrykket af, at billedet kan klikkes på.


Fremhæve nye kommentarer Internal Link

FastComments tilbyder flere måder at fremhæve nye kommentarer på.

For det første, som standard vil kommentarer der udløste en in-app-meddelelse (svar, svar i samme tråd, eller kommentarer på en side som du abonnerer på), automatisk blive fremhævet ved, at brugerens avatar får en svag glød. Farven kan tilpasses via CSS ved hjælp af klassen is-unread.

Kommentarer postet inden for de sidste 24 timer får anvendt klassen 24hr, som kan bruges til styling.

Endelig vil nye live-kommentarer, der dukker op i brugerens session, blive fremhævet i flere sekunder via en animation. Dette sker via CSS-klassen is-live og kan også tilpasses.

E-mail-skabeloner Internal Link

E-mails sendt fra FastComments til dine kunder kan tilpasses. Skabelonen, logikken og oversættelserne kan alle ændres. Tekst kan tilpasses pr. lokalitet, og udseendet kan endda ændres pr. domæne. Læs mere om tilpassede e-mail-skabeloner her.

Nye live-kommentarer nederst Internal Link

Som standard vises nye live-kommentarer øverst i kommentarliste, når de postes i realtid.

Når denne indstilling er aktiveret, tilføjes nye live-kommentarer i stedet til bunden af listen. Dette påvirker, hvordan kommentarer vises, når de postes live, mens brugere ser kommentart tråden.

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

Når denne indstilling er aktiveret:

  • Nye live-kommentarer, som postes af andre brugere, vises nederst i kommentarlisten
  • Brugere vil se nye kommentarer dukke op under eksisterende kommentarer i realtid
  • Dette påvirker kun live-opdateringer af kommentarer – ikke den oprindelige sideindlæsning
  • Dette kan hjælpe med at bevare læseflowet, når brugere følger en diskussion

Bemærk, at denne indstilling kun påvirker, hvor nye live-kommentarer placeres, når de ankommer i realtid. Den påvirker ikke den oprindelige sorteringsrækkefølge, når siden indlæses.

Aktivere uendelig rulning Internal Link

Som standard ændrer FastComments-widgetten sin højde for at passe til alle synlige kommentarer. Paginering opnås via en "Vis næste" knap i slutningen af den aktuelle side, da vi har fundet, at denne interaktion føles mest behagelig for de fleste brugere.

Der er dog nogle tilfælde, hvor uendelig rulning foretrækkes. For eksempel bruger vi denne funktion i vores Stream Chat-produkt.

Vi kan skjule "Vis næste"-knapperne og skifte til uendelig rulning ved at sætte enableInfiniteScrolling-flaget til 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

Dette kræver også, at der tilføjes brugerdefineret CSS. Tilføj brugerdefineret CSS for .comments-vælgeren for at aktivere rulning, for eksempel:

Aktiver uendelig rulning
Copy CopyRun External Link
1
2.comments {
3 max-height: 500px;
4 overflow-y: auto;
5}
6

Et fuldt fungerende eksempel ville være:

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

I eksemplet ovenfor bruger vi customCSS-egenskaben; det anbefales dog at bruge Widget Configuration UI i stedet af hensyn til ydeevnen. Se dokumentationen om Custom CSS.

Gengiv alle kommentarer på én gang - deaktiver paginering Internal Link

For at deaktivere paginering og blot gengive alle kommentarer på én gang, skal du sætte startingPage til -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

Forhindre nye topniveau-kommentarer Internal Link

Indstilling af noNewRootComments til true får widgeten til at skjule det øverste svarområde, men tillader stadig brugere at svare på underkommentarer. Du kan for eksempel sætte dette betinget ved sideindlæsning, så kun nogle brugere kan efterlade kommentarer på øverste niveau.

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

Maksimal svardybde Internal Link

Som standard tillader FastComments ubegrænset indlejring af svar, hvilket skaber en trådstruktur, hvor brugere kan svare på svar på ubestemt tid.

Indstillingen maxReplyDepth giver dig mulighed for at begrænse, hvor dybt svartråde kan gå. Når den maksimale dybde er nået, vil brugerne ikke længere se en svar-knap på kommentarer på det niveau.

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

Med maxReplyDepth sat til 2:

  • Brugere kan kommentere på øverste niveau (dybde 0)
  • Brugere kan svare på kommentarer på øverste niveau (dybde 1)
  • Brugere kan svare på disse svar (dybde 2)
  • Ingen yderligere svar er tilladt ud over dybde 2

At sætte maxReplyDepth til 1 vil kun tillade svar på kommentarer på øverste niveau, hvilket skaber en fladere diskussionsstruktur.

At sætte maxReplyDepth til 0 vil deaktivere alle svar og kun tillade kommentarer på øverste niveau. Hvis ikke angivet, kan svar indlejres uden begrænsning.

Oversigt over Single Sign-On (SSO) Internal Link

SSO, eller single-sign-on, er et sæt konventioner, der bruges til at lade dig eller dine brugere bruge FastComments uden at skulle oprette en separat konto.

Antager vi, at du ikke tillader anonyme kommentarer, kræves der en konto for at kommentere med FastComments. Vi gør denne tilmeldingsproces meget nem - brugeren efterlader bare deres e-mail, når de kommenterer. Vi forstår dog, at selv det kan være ekstra friktion, som nogle sider ønsker at undgå.

Vi kan reducere den friktion ved kun at have én login-flow for hele dit site.

How do I get it?

Alle kontotyper får i øjeblikket adgang til SSO. Antallet af SSO-brugere vil dog variere afhængigt af din pakke. Som med andre funktioner tilbyder Pro-planerne og højere direkte udviklingssupport.

Lad os sammenligne mulighederne, og så gå i detaljer om hver.

User and Comment Migrations

Når du migrerer fra en platform med SSO som Disqus, vil du allerede have brugere og deres kommentarer.

Kommentarer importeres som en del af din migration, enten via API'et, vores Import UI eller kundesupport. Import UI foretrækkes, hvis det understøtter den platform, du migrerer fra, da det indeholder fejlhåndtering, avatar- og medie-ekstraktion og uploads samt et batch-job-overvågningssystem.

Brugerne tilføjes automatisk, når kommentartråde ses for første gang. Alternativt kan de forudtilføjes via API'et, men dette arbejde har ikke mange fordele.

Hvis kommentarer er importeret, og SSO-brugere ikke tilføjes manuelt via API'et, vil kommentarerne automatisk blive migreret til brugerens konto første gang den oprettes, når de ser en hvilken som helst kommentartråd. De vil derefter kunne administrere, redigere og slette de kommentarer, de oprindeligt skrev.

Den automatiske migrering sker via e-mail eller brugernavn. Nogle platforme leverer ikke e-mails ved eksport, som Disqus, så vi falder tilbage til brugernavn i dette tilfælde.

  • Så længe du sender et matchende brugernavn og en e-mail i SSO-payloaden, vil vi tilføje e-mailen til de enkelte kommentarobjekter, så notifikationer og mentions fungerer.

Hvis det ønskes at importere dine kommentarer og brugere på én gang, så arbejd med support for at migrere kommentarerne over til brugernes respektive konti efter brugerne er importeret via API'et.

Sammenfattende er den nemmeste fremgangsmåde til migreringen:

  1. Importer kommentarer.
    1. Avatarer og andet medieindhold migreres automatisk, hvis du bruger Import UI under Manage Data -> Imports.
  2. Opsæt Secure eller Simple SSO.
  3. Lad migreringen ske per bruger automatisk, når de logger ind første gang.
    1. Dette tilføjer normalt mindre end et sekund til indlæsningstiden, hvis brugeren har mindre end 50k kommentarer.

WordPress Users

Hvis du bruger vores WordPress-plugin er der ingen kode at skrive! Gå blot til pluginets Admin-side, klik på SSO Settings, og tryk derefter Enable.

Dette fører dig til en enkelt-knap-vejledning, som vil oprette din API-nøgle, sende den til din WordPress-installation og slå SSO til. Vi har konsolideret dette til et enkelt knap-klik for dig.

Bemærk, at hvis du installerer pluginet for første gang, skal du følge opsætningsprocessen, før du ser admin-siden med SSO Settings-knappen.

WordPress SSO - Moderators

Bemærk, at for at "Moderator"-badge aktuelt skal vises ved siden af dine moderatorer, når de kommenterer med FastComments WordPress-pluginet, skal de også være tilføjet som Moderator i FastComments-dashboardet og have deres e-mail bekræftet.

Custom Integrations

For tilpassede integrationer er der to muligheder.

Option One - Secure SSO

Med Secure SSO ved FastComments, at brugeren, der kommenterer, stemmer og læser kommentarer, er en reel bruger på dit site.

Så længe du opretter en gyldig payload, vil brugeren altid få en sømløs kommenteringsoplevelse.

Med Secure SSO oprettes SSO-payloaden på serversiden ved hjælp af HMAC-autentificering og sendes derefter til widget'en på klienten.

Med Secure SSO er brugerens konto helt adskilt fra resten af FastComments brugerbase. Det betyder, at hvis vi har to partnere Company A og Company B, kan hver have en SSO-bruger med brugernavnet "Bob".

Requirements

  • Nogen grundlæggende viden om backend-udvikling.
  • Nogen grundlæggende viden om håndtering af hemmelige API-nøgler.
  • Nogen grundlæggende viden om API-udvikling eller server-side rendering.

Pros

  • Sikkert.
  • Sømløs kommenteringsoplevelse.

Cons

  • Kræver backend-udvikling.

Updating User Data

Med Secure SSO vil vi hver gang du sender sso-bruger-payloaden, opdatere deres bruger med de seneste oplysninger. For eksempel, hvis brugeren har brugernavnet X, og du sender Y i SSO-payloaden, vil deres brugernavn blive Y.

Hvis du vil fjerne værdier ved hjælp af denne tilgang, så sæt dem til null (ikke undefined).

Secure SSO API

Vi tilbyder også et API til at interagere med SSO-brugerne. Se dokumentationen.

Bemærk, at når du bruger Secure SSO, oprettes brugere automatisk bag kulisserne ved sideindlæsning. Du behøver ikke at importere dine brugere i bulk.

Option Two - Simple SSO

Alternativet til Secure SSO er simpelthen at sende brugeroplysningerne til kommenteringswidget'en.

Det er ikke nødvendigt at angive en e-mail med Simple SSO; uden denne vil deres kommentarer dog blive vist som "Uverificeret".

Bemærk! Pr. begyndelsen af 2022 behøver brugernavne med Simple SSO ikke at være unikke på tværs af hele FastComments.com.

Ideelt set bør Simple SSO kun vælges, når der udvikles på en platform, der ikke giver adgang til backend.

Requirements

  • Nogen grundlæggende viden om klient-side udvikling.
  • Skal kende mindst brugerens e-mail.

Pros

  • Simpelt.
  • Al aktivitet bliver stadig verificeret.
  • Brugeren indtaster aldrig deres brugernavn eller e-mail.

Cons

  • Mindre sikkert end Secure SSO, da client-side payloaden kunne blive manipuleret til at blive en anden bruger.

Simple SSO API

Brugere, der automatisk oprettes via Simple SSO-flowet, gemmes som SSOUser objekter. De kan tilgås og administreres via SSOUser API'et. Se dokumentationen.

Tilpassede integrationer - simpel Single Sign-On (SSO) Internal Link

Med Simple SSO kan vi give kommenteringswidget'en oplysninger om brugeren, så de ikke behøver at indtaste deres brugernavn eller e-mail for at kommentere.

Vi kan konfigurere Simple SSO som følger:

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

Brugeren vil blive logget ind, og der oprettes en SSO-bruger bag kulisserne. Brugeren vil have createdFromSimpleSSO sat til true hvis den hentes fra API'en.

Noter:

  • E-mail er den unikke identifikator for Simple SSO.
  • Det er ikke påkrævet at angive en e-mail ved Simple SSO; som standard vil deres kommentarer dog vises som "Uverificeret". Hvis der ikke angives en e-mail, kan brugeren ikke blive fuldt autentificeret.
  • NYT Siden Jan 2022: Brugernavne behøver ikke være unikke på tværs af hele fastcomments.com
  • Simple SSO kan automatisk oprette og opdatere SSO-brugere, hvis der angives en e-mail, og brugeren ikke oprindeligt blev oprettet fra Secure SSO.
  • Du kan angive badges for brugeren med egenskaben badgeConfig. Arrayet badgeIds indeholder ID'erne for badges, der skal tilknyttes brugeren. Hvis override er sat til true, vil det erstatte alle eksisterende badges, der vises på kommentarer; hvis false vil det blive føjet til de eksisterende badges.

Tilpassede integrationer - migrering fra Disqus SSO Internal Link

De største forskelle mellem Disqus og FastComments Secure SSO er, at Disqus bruger SHA1 til kryptering, mens vi bruger SHA256. Dette betyder, at migrering fra Disqus er nem - skift den anvendte hashing-algoritme fra SHA1 til SHA256 og opdater property-navnene, der sendes til UI.

Tilpassede integrationer - migrering fra Commento SSO Internal Link

Commento bruger en drastisk anderledes SSO-tilgang - de kræver, at du har et endepunkt, som de kalder for at autentificere brugeren.

FastComments gør det omvendt - kod og hash blot brugerens oplysninger ved hjælp af din hemmelige nøgle og send dem videre.

Callbacks Internal Link

Alle biblioteker for kommentars-widgeten (i øjeblikket Angular, React, Vue) understøtter callbacks.

Callbacks angives i konfigurationsobjektet, med samme signatur for hvert bibliotek.

De understøttede callbacks er:

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

De præcise signaturer kan findes i TypeScript definitions.

Her er et eksempel med alle callbacks i brug:

Eksempler på callbacks
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; // return true for at forhindre standardadfærden (åbning af fastcomments.com-brugerprofil).
31 },
32 onCommentSubmitStart: function(comment, continueSubmitFn, cancelFn) {
33 console.log('Trying to submit comment', comment);
34 setTimeout(function() { // efterligner asynkron adfærd (kalder API osv).
35 if(confirm('Should submit?')) {
36 continueSubmitFn();
37 } else {
38 cancelFn('Some optional error message');
39 }
40 }, 1000);
41 },
42 onCommentsRendered: function(comments) {
43 // comments er sorteret efter standardsorteringen på siden, som kan være 'Mest relevante' (f.eks. mest opstemte, osv.), eller 'Nyeste først'
44 const topCommentInList = comments[0];
45 console.log('First Comment Rendered:', topCommentInList.avatarSrc, topCommentInList.commenterName, topCommentInList.commentHTML);
46 }
47 });
48</script>
49

Sidetitler Internal Link


Den aktuelle sidetitel er knyttet til den angivne urlId og gemmes til brug i moderationsværktøjer.

Som standard hentes denne fra document.title.

Hvis du ønsker det, kan du angive din egen sidetitel som følger:

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

Kommentarantal og optælling af alle indlejrede svar Internal Link

Antallet af kommentarer, der vises øverst i kommentar-widgetet, kan enten vise alle "top-level" kommentarer, altså de svar, som er direkte svar på siden eller artiklen selv, eller det kan være et tal for alle indlejrede kommentarer.

Som standard er dette true - det er et optælling af sidstnævnte - alle kommentarer. I ældre versioner af kommentar-widgetet var standardværdien false.

Vi kan ændre adfærden, så den tæller alle indlejrede kommentarer ved at sætte countAll-flaget til 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

Hvis vi ønskede, at optællingen kun skulle afspejle topniveau-kommentarer, sætter vi flaget til 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

Dette kan i øjeblikket ikke tilpasses uden kodeændringer.

Nævn gruppe-id'er Internal Link

En liste med id'er til brug for @mentions autokomplettering. Nyttigt, når du vil forhindre at tagge brugere, hvis de ikke har overlappende grupper.

Når det er angivet, vil kun brugere i andre grupper blive vist i autokompletteringen efter at have skrevet @-tegnet.

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