FastComments.com

Tilpasninger & Konfiguration

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

Tilpassede 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

Linkning 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.

Bestemmelse af hvilken side der skal vises 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.

Skift kommentarfærd 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

Deaktiver 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ævning af 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.

Aktiver 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.

Vis 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 svar-dybde 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.

Advar før du forlader med en usendt kommentar Internal Link

Som standard, hvis en bruger skriver en kommentar og derefter opdaterer siden, lukker fanen eller navigerer væk før indsendelse, går udkastet tabt uden varsel.

Indstilling af warnOnUnsavedComment til true får browseren til at bede brugeren bekræfte, før de forlader siden, mens enhver kommentarboks eller en igangværende redigering stadig indeholder tekst. Når kommentaren er indsendt, ryddes teksten, så der ikke vises nogen prompt.

Advarsel om ikke-gemt kommentar
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 "warnOnUnsavedComment": true
8}];
9</script>
10

Prompten bruger browserens egen dialog. Moderne browsere viser deres egen formulering og ignorerer tilpasset tekst, så beskeden kan ikke tilpasses.

Denne indstilling indlæser en lille udvidelse på efterspørgsel, så den tilføjer intet til widgeten for sider, der ikke aktiverer den.

Oversigt over Single Sign On (SSO) Internal Link

SSO, eller single-sign-on, er et sæt konventioner, der giver dig eller dine brugere mulighed for at bruge FastComments uden at skulle oprette endnu en konto.

Hvis du ikke tillader anonym kommentering, kræves der en konto for at kommentere med FastComments. Vi gør denne tilmeldingsproces meget nem - brugeren skal blot angive deres e-mail, når de kommenterer. Vi forstår dog, at selv det er ekstra friktion, som nogle sider ønsker at undgå.

Vi kan reducere den friktion ved kun at have ét login-flow for hele din side.

Hvordan får jeg det?

Alle kontotyper har i øjeblikket adgang til SSO. Det maksimale antal SSO-brugere varierer dog afhængigt af din pakke. Som med andre funktioner giver Pro-planer og derover direkte udviklersupport.

Lad os sammenligne mulighederne og derefter gå i detaljer med hver af dem.

Bruger- og kommentarmigrering

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

Kommentarer importeres som en del af din migrering, enten via API'en, vores Import UI eller kundesupport. Import UI foretrækkes, hvis den understøtter den platform, du migrerer fra, da den indeholder fejlhåndtering, udtrækning og upload af avatarer og medier samt et batchjob-overvågningssystem.

Brugerne selv tilføjes automatisk, første gang de ser en kommentartråd. Alternativt kan de forudtilføjes via API'en, men dette arbejde har ikke mange fordele.

Hvis kommentarer importeres, og SSO-brugere ikke tilføjes manuelt via API'en, vil kommentarerne automatisk blive migreret til brugerens konto, første gang den oprettes, når de ser en 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 giver ikke e-mails ved eksport, som Disqus, så vi falder tilbage på brugernavn i dette tilfælde.

  • Så længe du angiver et matchende brugernavn og en e-mail i SSO-payload'en, tilføjer vi e-mailen til de enkelte kommentarobjekter, så notifikationer og omtaler fungerer.

Hvis du ønsker at importere dine kommentarer og brugere på én gang, så samarbejd med support om at migrere kommentarerne over til brugernes respektive konti, efter brugerne er importeret via API'en.

For at opsummere den nemmeste vej for migreringen:

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

WordPress-brugere

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

Dette fører dig til en guide med én enkelt knap, som opretter din API-nøgle, sender den til din WordPress-installation og slår SSO til. Vi har konsolideret dette til ét enkelt knapklik for dig.

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

WordPress SSO - Moderatorer

Bemærk, at i øjeblikket, for at "Moderator"-mærket skal vises ved siden af dine moderatorer, når de kommenterer med FastComments WordPress-pluginet, skal de også tilføjes som Moderator i FastComments-dashboardet og have deres e-mail verificeret.

Brugerdefinerede integrationer

For brugerdefinerede integrationer er der to muligheder.

Mulighed ét - Secure SSO

Med Secure SSO ved FastComments, at brugeren, der kommenterer, stemmer og læser kommentarer, er en rigtig bruger på din side.

Så længe du opretter en gyldig payload, vil brugeren altid have en problemfri kommentaroplevelse.

Med Secure SSO oprettes SSO-payload'en server-side ved hjælp af HMAC-godkendelse og sendes derefter til widgetten på klientsiden.

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 især have en SSO-bruger med brugernavnet "Bob".

Krav

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

Fordele

  • Sikkert.
  • Problemfri kommentaroplevelse.

Ulemper

  • Kræver backend-udvikling.

Opdatering af brugerdata

Med Secure SSO opdaterer vi brugerens konto med de nyeste oplysninger, hver gang du sender SSO-bruger-payload'en. For eksempel, hvis brugeren har brugernavnet X, og du sender Y i SSO-payload'en, bliver deres brugernavn Y.

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

Secure SSO API

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

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

Mulighed to - Simple SSO

Alternativet til Secure SSO er blot at sende brugeroplysningerne til kommentar-widgetten.

Det er ikke påkrævet at angive en e-mail med Simple SSO, men uden denne vises deres kommentarer som "Unverified".

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

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

Krav

  • Grundlæggende viden om klientudvikling.
  • Man skal kende mindst brugerens e-mail.

Fordele

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

Ulemper

  • Mindre sikkert end Secure SSO, da klient-side-payload'en kunne manipuleres til at blive enhver 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'en. Se dokumentationen.

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.

Tilbagekald Internal Link

Alle biblioteker til kommentar-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 nøjagtige signaturer findes i TypeScript-definitionerne.

Her er et eksempel med alle callbacks brugt:

Eksempler på callbacks
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>
5 window.fcConfigs = [{
6 target: '#fastcomments-widget',
7 tenantId: 'demo',
8 onInit: function () {
9 console.log('Library started to fetch comments!');
10 },
11 onAuthenticationChange: function (eventName, userObj) {
12 console.log('User authenticated!', eventName, userObj);
13 },
14 onRender: function () {
15 console.log('Render event happened!');
16 },
17 commentCountUpdated: function (newCount) {
18 console.log('New comment count:', newCount);
19 },
20 onReplySuccess: function (comment) {
21 console.log('New comment saved!', comment);
22 },
23 onVoteSuccess: function (comment, voteId, direction, status) {
24 console.log('New vote saved!', comment, voteId, direction, status);
25 },
26 onImageClicked: function (src) {
27 console.log('Image clicked!', src);
28 },
29 onOpenProfile: function (userId) {
30 console.log('User tried to open profile', userId);
31 // return true; // return true for at forhindre standardadfærden (åbning af fastcomments.com brugerprofil).
32 },
33 onCommentSubmitStart: function(comment, continueSubmitFn, cancelFn) {
34 console.log('Trying to submit comment', comment);
35 setTimeout(function() { // emulerer asynkron adfærd (kalder API osv).
36 if(confirm('Should submit?')) {
37 continueSubmitFn();
38 } else {
39 cancelFn('Some optional error message');
40 }
41 }, 1000);
42 },
43 onCommentsRendered: function(comments) {
44 // comments er sorteret efter standardsorteringen på siden, som kan være Most Relevant (ex: most upvoted, etc), eller Newest First
45 const topCommentInList = comments[0];
46 console.log('First Comment Rendered:', topCommentInList.avatarSrc, topCommentInList.commenterName, topCommentInList.commentHTML);
47 }
48 }];
49</script>
50

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 & tæ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