FastComments.com

התאמות ותצורה

הקשר

כאן תמצאו תיעוד מעמיק על כל אחת מהתכונות וההגדרות שהווידג'ט התגובות תומך בהן.

תיעוד זה יכסה את המושגים המרכזיים ויתעמק בכל תחום פונקציונליות, עם מדריכים מעשיים ובעיות נפוצות.

יסופקו דוגמאות קוד, כאשר השורות הרלוונטיות יודגשו. צילומי מסך של דפי התצורה יסופקו במידת הצורך.

דוגמאות הקוד ישתמשו בספריית vanilla JavaScript שלנו, אולם אפשרויות התצורה משתמשות בדיוק באותם שמות בכל הגרסאות של ווידג'ט התגובות (React, Vue וכו').

רוב ההגדרות והתכונות המתוארות במדריך זה אינן דורשות כתיבת קוד.


הצגת אותן תגובות בדפים שונים Internal Link

מכיוון שהפרמטר urlId מאפשר לנו להגדיר לאיזה דף, או למזהה, התגובות משוייכות, נוכל פשוט להגדיר את 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 יהפוך טקסט שחור על רקעים לבנים לטקסט לבן על רקע שחור. גם תמונות ישתנו.

בעת טעינת הדף, הווידג'ט ינסו לקבוע עד כמה רקע הדף מאחורי הווידג'ט כהה. משמעות הדבר היא ש הדף יכול להיות עם רקע לבן, אך אם תשים את הווידג'ט של ההערות בתוך מכל (container) עם רקע שחור, מצב כהה אמור עדיין להיות מופעל אוטומטית כדי להקל על קריאת ההערות.

עם זאת, מנגנון הגילוי, שתלוי בקביעת "בהירות", עשוי שלא להפעיל את מצב-הכהה כאשר תרצה בכך. כדי לאלץ הפעלה שלו, הגדר את hasDarkBackground flag to true as follows:

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 אינו תמיד מזהה, אז עלינו לאחסן את ה-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

שים לב שמספרי העמודים מתחילים מ-0, ולכן הדוגמה שלמעלה מציגה את העמוד השני.


החלפת שרשורי תגובות ללא רענון הדף Internal Link

כבר כיסינו כיצד urlId הוא ה-id של הדף או המאמר שאליהם קשורים התגובות.

גם, לסיכום, אם לא הוגדר urlId הוא יוגדר כברירת מחדל ל-URL של הדף הנוכחי.

מה לגבי SPA-ים, או Single-Page-Applications, שבהם הדף או התוכן שאליהם קשורות התגובות משתנים דינמית ללא רענון מלא של הדף?

Angular, React, Vue, וכו'

עם הספריות שלנו כגון Angular ו-React, עדכון פשוט של מאפיין urlId שמועבר ל-widget יגרום ל-widget של התגובות להתעדכן. ניתן לראות זאת בפעולה עבור אפליקציית ה-React, למשל, כאן.

VanillaJS

אם אתם משתמשים בספריית VanillaJS זה קצת יותר מורכב מאחר ואין מסגרת כמו Angular או React לטיפול ב-data binding או בהפצת ה-state.

כאשר אתם מאתחלים את ה-widget של VanillaJS, הוא מחזיר מספר פונקציות שניתן לקרוא להן כדי לעדכן אותו.

הנה דוגמה פונקציונלית שבה אנו משנים את ה-hash של הדף ומעדכנים את ה-widget של התגובות:

דוגמה לשינוי ה-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

השבתת הפניית תמונות 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 מספק מספר דרכים להדגשת תגובות חדשות.

ראשית ובחשיבות עליונה, כברירת מחדל תגובות שהפעילו התראה בתוך האפליקציה (תגובות, תגובות באותו אשכול, או תגובות בעמוד שאתה מנוי אליו), יודגשו אוטומטית בכך שהאווטאר של המשתמש יזהר קלות. ניתן להתאים את הצבע ב-CSS using the is-unread class.

תגובות שנשלחו ב-24 השעות האחרונות מקבלות את המחלקה 24hr שניתן להשתמש בה לעיצוב.

לבסוף, כל תגובות חיות חדשות שמופיעות במושב של המשתמש יודגשו למשך מספר שניות באמצעות אנימציה. זה נעשה באמצעות is-live CSS class וניתן להתאמה גם כן.

תבניות דואר אלקטרוני Internal Link

אימיילים שנשלחים מ-FastComments ללקוחות שלכם ניתנים להתאמה. התבנית, הלוגיקה, והתרגומים ניתנים לשינוי. ניתן להתאים את הטקסט לכל שפה/אזור (locale), והעיצוב ניתן אף לשנותו לכל דומיין. למידע נוסף על תבניות אימייל מותאמות אישית, לחצו כאן.

הצבה של תגובות חיות חדשות בתחתית 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

בברירת המחדל, הווידג'ט של FastComments יסתגל לגובה עצמו כדי להתאים את כל התגובות הנראות. עימוד מתבצע באמצעות כפתור "הצג הבא" בסוף העמוד הנוכחי, כי מצאנו שזו האינטראקציה שמרגישה הכי נעימה לרוב המשתמשים.

עם זאת, ישנם מקרים שבהם מעדיפים גלילה אינסופית. לדוגמה, אנו משתמשים בתכונה זו במוצר Stream Chat שלנו.

ניתן להסתיר את כפתורי "הצג הבא" ולעבור לגלילה אינסופית על ידי הגדרת הדגל enableInfiniteScrolling ל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

זה גם דורש הוספה של CSS מותאם אישית. הוסף CSS מותאם אישית לבוחר .comments כדי לאפשר גלילה, לדוגמה:

הפעלת גלילה אינסופית
Copy CopyRun External Link
1
2.comments {
3 max-height: 500px;
4 overflow-y: auto;
5}
6

דוגמה עובדת מלאה תהיה:

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

בדוגמה שלעיל אנו משתמשים במאפיין customCSS, עם זאת מומלץ להשתמש במקום זאת ב-Widget Configuration UI מסיבות ביצועים. ראה את התיעוד של CSS מותאם אישית.


הצגת כל התגובות בבת אחת - השבתת חלוקת העמודים 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 מאפשר קינון בלתי מוגבל של תגובות, ויוצר מבנה פתיל (thread) שבו משתמשים יכולים להשיב לתשובות ללא הגבלה.

האפשרות 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

With maxReplyDepth set to 2:

  • Users can comment at the top level (depth 0)
  • Users can reply to top-level comments (depth 1)
  • Users can reply to those replies (depth 2)
  • No further replies are allowed beyond depth 2

Setting to 1 would only allow replies to top-level comments, creating a flatter discussion structure.

Setting maxReplyDepth to 0 would disable all replies, allowing only top-level comments. If not specified, replies can be nested without limit.

סקירה של כניסה יחידה (SSO) Internal Link

SSO, או כניסה יחידה (single-sign-on), הוא סט של קונבנציות המשמשות לאפשר לך או למשתמשיך להשתמש ב‑FastComments בלי הצורך ליצור חשבון נוסף.

בהנחה שאינך מאפשר תגובות אנונימיות, דרוש חשבון כדי להגיב עם FastComments. אנו עושים את תהליך ההרשמה הזה מאוד פשוט — המשתמש פשוט משאיר את האימייל שלו כאשר הוא מגיב. עם זאת, אנו מבינים שאפילו זה מהווה חיכוך נוסף שחלק מהאתרים מעדיפים להימנע ממנו.

נוכל להפחית את החיכוך הזה על‑ידי קיום זרימת התחברות אחת לכל האתר שלך.

איך מקבלים את זה?

כל סוגי החשבונות כיום מקבלים גישה ל‑SSO. עם זאת, המקסימום של משתמשי SSO ישתנה בהתאם לחבילה שלך. כמו בתכונות אחרות, התוכניות Pro ומעלה מספקות תמיכה פיתוחית ישירה.

בואו נשווה את האפשרויות, ואז נעבור לפרטים של כל אחת.

העברות משתמשים ותגובות

כאשר עוברים מפלטפורמה עם SSO כמו Disqus, כבר יהיו לך משתמשים והתגובות שלהם.

התגובות מיובאות כחלק מההגירה, או דרך ה‑API, ממשק הייבוא שלנו, או תמיכת הלקוחות. ממשק הייבוא מומלץ אם הוא תומך בפלטפורמה שממנה אתה מ Migrating, מאחר שהוא כולל טיפול בשגיאות, חילוץ והעלאת אווטרים ומדיה, ומערכת ניטור לעבודות אצווה.

המשתמשים עצמם מתווספים באופן אוטומטי בעת צפייה בשרשורי תגובות בפעם הראשונה. כתחליף, ניתן להוסיף אותם מראש דרך ה‑API, אך עבודה זו לא מביאה יתרונות רבים.

אם תגובות מיובאות והמשתמשי SSO לא מתווספים ידנית דרך ה‑API, אז התגובות יועברו אוטומטית לחשבון המשתמש בפעם הראשונה שהוא נוצר כאשר הם צופים בכל שרשור תגובות. הם אז יוכלו לנהל, לערוך ולמחוק את ההערות שכתבו במקור.

ההגירה האוטומטית מתבצעת באמצעות אימייל או שם משתמש. חלק מהפלטפורמות אינן מספקות אימיילים ביצוא, כמו Disqus, לכן אנו חוזרים לשם המשתמש במקרה זה.

  • כל עוד אתה מעביר שם משתמש תואם, ואימייל ב‑SSO payload, נוסיף את האימייל לאובייקטי התגובה היחידניים כך שההתראות והאזכורים יעבדו.

אם רצונך לייבא את ההערות והמשתמשים בו‑זמנית, עבד עם התמיכה כדי להעביר את ההערות לחשבונות המתאימים לאחר שהמשתמשים מיובאים דרך ה‑API.

לסיכום, הנתיב הקל ביותר להגירה הוא:

  1. ייבא תגובות.
    1. אווטרים ומדיה אחרת מיועברים אוטומטית אם משתמשים ב‑Import UI ב‑Manage Data -> Imports.
  2. הגדר SSO מאובטח או פשוט (Secure או Simple SSO).
  3. אפשר להגירה להתרחש לפי משתמש אוטומטית כאשר הם נכנסים לראשונה.
    1. בדרך כלל זה מוסיף פחות משנייה לזמן טעינת הדף אם למשתמש פחות מ‑50k תגובות.

משתמשי WordPress

אם אתה משתמש ב‑תוסף WordPress שלנו אז אין קוד לכתוב! פשוט עבור לעמוד הניהול של התוסף, לחץ על SSO Settings, ואז הפעל.

זה יוביל אותך לקוסם בלחיצה יחידה שייצור את מפתח ה‑API שלך, ישלח אותו להתקנת ה‑WordPress שלך ויפעיל את ה‑SSO. איחדנו את זה ללחיצה בודדת בשבילך.

שימו לב שאם אתה מתקין את התוסף לראשונה תצטרך להשלים את תהליך ההגדרה לפני שתראה את דף הניהול עם לחצן SSO Settings.

WordPress SSO - Moderators

שימו לב שכרגע כדי שהתווית "Moderator" תופיע ליד המודרטורים שלך כשהם מגיבים עם תוסף ה‑FastComments ל‑WordPress, הם חייבים גם להיות נוספים כ‑Moderator בלוח הבקרה של FastComments, ולהיות עם אימייל מאומת.

אינטגרציות מותאמות אישית

באינטגרציות מותאמות אישית, יש שתי אפשרויות.

אפשרות אחת - Secure SSO

עם Secure SSO, ל‑FastComments ברור שהמשתמש שמגיב, מצביע וקורא תגובות הוא משתמש אמיתי באתר שלך.

כל עוד אתה יוצר מטען תקף, למשתמש תמיד תהיה חוויית תגובות חלקה.

עם Secure SSO, מטען ה‑SSO נוצר מהצד השרת באמצעות אימות HMAC ואז מועבר לוידג'ט על ה‑לקוח.

עם Secure SSO, חשבון המשתמש הוא מופרד לחלוטין משאר בסיס המשתמשים של FastComments. משמעות הדבר שאם יש לנו שני שותפים Company A ו‑Company B, לכל אחד מהם יכול להיות משתמש SSO עם שם המשתמש "Bob".

דרישות

  • ידע בסיסי בפיתוח צד השרת.
  • ידע בסיסי בטיפול במפתחות API סודיים.
  • ידע בסיסי בפיתוח API או בהצגה בצד השרת (server-side rendering).

יתרונות

  • מאובטח.
  • חוויית תגובות חלקה.

חסרונות

  • דורש פיתוח צד שרת.

עדכון נתוני משתמש

עם Secure SSO, בכל פעם שאתה מעביר את מטען המשתמש של SSO, נעדכן את המשתמש שלהם עם המידע העדכני ביותר. לדוגמה, אם למשתמש יש שם משתמש X, ואתה מעביר Y במטען ה‑SSO, שם המשתמש שלהם יהפוך ל־Y.

אם ברצונך להסיר ערכים בגישה זו אז הגדר אותם כ‑null (לא undefined).

Secure SSO API

אנחנו גם מספקים API לאינטראקציה עם משתמשי ה‑SSO. ראה the docs.

שימו לב שכאשר משתמשים ב‑Secure SSO, משתמשים נוצרים אוטומטית מאחורי הקלעים בעת טעינת הדף. אינך צריך לייבא בכמויות (bulk import) את המשתמשים שלך.

אפשרות שנייה - Simple SSO

האלטרנטיבה ל‑Secure SSO היא פשוט להעביר את פרטי המשתמש לוידג'ט התגובות.

מתן אימייל ב‑Simple SSO אינו חובה, אך בלעדיו תגובותיהם יוצגו כ‑"Unverified".

הערה! נכון לתחילת 2022 שמות משתמש ב‑Simple SSO אינם חייבים להיות ייחודיים על פני כל FastComments.com.

באופן אידיאלי, יש לבחור ב‑Simple SSO רק בפיתוח על פלטפורמה שאינה מספקת גישה לצד השרת.

דרישות

  • ידע בסיסי בפיתוח צד הלקוח.
  • צריך לדעת לפחות את האימייל של המשתמש.

יתרונות

  • פשוט.
  • כל הפעילות עדיין מאומתת.
  • המשתמש מעולם לא מזין את שם המשתמש או האימייל שלו.

חסרונות

  • פחות מאובטח מ‑Secure SSO מאחר שהמטען בצד הלקוח יכול להיות מעוצב כך שייחשב לכל משתמש.

Simple SSO API

משתמשים הנוצרים אוטומטית דרך זרימת Simple SSO מאוחסנים כאובייקטים מסוג SSOUser. ניתן לגשת אליהם ולנהל אותם דרך ה‑SSOUser API. ראה the docs.

אינטגרציות מותאמות - כניסה מאוחדת פשוטה (SSO) Internal Link

With Simple SSO, we can provide the commenting widget with information about the user so that they don't have to enter their username or email to comment.

We can configure Simple SSO as follows:

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 "pageBadgeIds": [
22 "badge-id-3"
23 ],
24 "override": false
25 }
26 }
27}];
28</script>
29

The user will be logged in, and will create an SSO User behind the scenes. The user will have createdFromSimpleSSO set to true if fetched from the API.

Notes:

  • Email is the unique identifier for Simple SSO.
  • Providing an email with Simple SSO is not required, however by default their comments will show as "Unverified". If no email is provided, the user cannot be fully authenticated.
  • NEW Since Jan 2022: Usernames do not have to be unique across all of fastcomments.com
  • Simple SSO can automatically create and update SSO users, if an email is provided, and the user was not originally created from Secure SSO.
  • You can specify badges for the user with the badgeConfig property. The badgeIds array contains the IDs of global badges to associate with the user. The pageBadgeIds array contains badge IDs scoped to the current page (urlId) — these badges are only displayed on the page where they were assigned. If override is set to true, it will replace existing displayed badges (global and page-scoped are overridden independently); if false it will add to existing badges.

אינטגרציות מותאמות - מעבר מ-Disqus SSO Internal Link

ההבדלים הגדולים ביותר בין Disqus ל‑FastComments Secure SSO הם ש‑Disqus משתמש ב‑SHA1 להצפנה בעוד שאנו משתמשים ב‑SHA256. משמעות הדבר שמעבר מ‑Disqus קל — שנה את אלגוריתם ההאשה המשמש מ‑SHA1 ל‑SHA256 ועדכן את שמות המאפיינים שמועברים ל‑UI.

אינטגרציות מותאמות - מעבר מ-Commento SSO Internal Link

Commento משתמשת בגישה שונה באופן דרסטי ל-SSO - הם דורשים שיהיה לך נקודת קצה שאליה הם יפנו כדי לאמת את המשתמש.

FastComments פועלת באופן הפוך - פשוט קודד וחשב גיבוב של המידע של המשתמש באמצעות המפתח הסודי שלך ושלח אותו הלאה.

קריאות חזרה Internal Link

כל הספריות עבור הווידג'ט התגובות (כרגע Angular, React, Vue) תומכות בקריאות-חזרה.

קריאות-החזרה מוגדרות באובייקט התצורה, עם אותה חתימה עבור כל ספרייה.

הקריאות-חזרה הנתמכות הן:

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

החתימות המדויקות ניתן למצוא בהגדרות TypeScript.

הנה דוגמה שבה כל הקריאות-חזרה מיושמות:

דוגמאות של קריאות חזרה
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; // החזר true כדי למנוע את ההתנהגות המוגדרת כברירת מחדל (פתיחת פרופיל משתמש ב-fastcomments.com).
32 },
33 onCommentSubmitStart: function(comment, continueSubmitFn, cancelFn) {
34 console.log('Trying to submit comment', comment);
35 setTimeout(function() { // חיקוי התנהגות אסינכרונית (קריאת API וכו').
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 ממויין לפי המיון הדיפולטי בעמוד, אשר עשוי להיות 'Most Relevant' (למשל: עם הכי הרבה הצבעות, וכו'), או 'Newest First'
45 const topCommentInList = comments[0];
46 console.log('First Comment Rendered:', topCommentInList.avatarSrc, topCommentInList.commenterName, topCommentInList.commentHTML);
47 }
48 }];
49</script>
50

כותרות דפים Internal Link

כותרת הדף הנוכחית משויכת ל-urlId שצוין ונשמרת לשימוש בכלי המודרציה.

בברירת מחדל, ערך זה נלקח מ-document.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

מספר התגובות המוצג בראש רכיב התגובות יכול להציג או את כל התגובות "ברמת-העל", כלומר אותן תשובות ש- מגיבות ישירות לעמוד או למאמר עצמו, או שהוא יכול להיות ספירה של כל התגובות המקוננות.

בברירת מחדל, זה true - זו ספירה של האפשרות השנייה - כל התגובות. בגרסאות ישנות יותר של רכיב התגובות ערך ברירת המחדל הוא false.

ניתן לשנות את ההתנהגות, כך שהיא תהיה ספירה של כל התגובות המקוננות על ידי קביעת הדגל countAll ל-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

אם נרצה שהספירה תשקף רק את התגובות ברמת-העל, נגדיר את הדגל ל-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

רשימה של מזהים לשימוש בהשלמה האוטומטית של @mentions. שימושי כאשר ברצונך למנוע תיוג משתמשים שאין להם קבוצות חופפות.

כאשר מוגדר, רק משתמשים מקבוצות אחרות יוצעו בהשלמה האוטומטית לאחר הקלדת התו @.

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