FastComments.com

FastComments Image Chat מאפשר שיחות אינטראקטיביות על תמונות על ידי מתן אפשרות למשתמשים ללחוץ בכל מקום על תמונה כדי ליצור נקודות דיון. משתמשים יכולים ללחוץ על חלקים ספציפיים בתמונות כדי להתחיל שיחות על אזורים אלו, וכך ליצור סימנים חזותיים שמראים היכן נמצאים הדיונים.

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

עיצוב רספונסיבי Internal Link

מיקום מבוסס אחוזים

Image Chat משתמש בקואורדינטות מבוססות אחוזים במקום בקואורדינטות פיקסל כדי למקם את הסימונים של הצ'אט על תמונות. כאשר משתמש לוחץ על תמונה, הווידג'ט ממיר את קואורדינטות הפיקסל של הלחיצה לאחוזים מתוך רוחב וגובה התמונה. גישה זו מבטיחה שהסימונים יישארו במיקום הנכון ללא תלות באופן הצגת התמונה.

לדוגמה, אם משתמש לוחץ במרחק 250 פיקסלים מקצה שמאל של תמונה ברוחב 1000px, הווידג'ט מאחסן זאת כ-25% מהשמאל. כאשר משתמש אחר צופה באותה תמונה ברוחב 500px במכשיר נייד, הסימון יופיע במרחק 125 פיקסלים מהשמאל, שהוא עדיין 25% מהרוחב.

יתרונות לפריסות רספונסיביות

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

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

התאמת גודל התמונה ויחס הגובה-רוחב

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

אם תיישם CSS שמעוות את יחס הגובה-רוחב של התמונה (כמו שימוש ב-object-fit: cover עם מידות ספציפיות), מיקומי הסימונים עלולים לא להיות מיושרים נכון. לתוצאות הטובות ביותר אפשר לאפשר לתמונות לשנות גודל באופן טבעי או להשתמש ב-object-fit: contain כדי לשמור על יחס הגובה-רוחב.

גודל ריבוע הצ'אט

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

על תמונה ברוחב 1000px עם ההגדרה ברירת המחדל של 5%, הסימונים הם בגודל 50px על 50px. על תמונה ברוחב 500px, אותם סימונים הם בגודל 25px על 25px. הם נשארים פרופורציונליים לגודל התמונה.

התנהגות במובייל

על מסכים ברוחב של פחות מ-768px, Image Chat עובר לפריסת מובייל מותאמת. חלונות הצ'אט נפתחים במסך מלא במקום לצוף לצד הסימון. זה מספק נוחות שימוש טובה יותר על מסכים קטנים שבהם חלונות צפים עלולים להסתיר יותר מדי מהתמונה.

הסימונים עצמם נשארים נראים ולחיצים במיקומיהם המבוססים על אחוזים. משתמשים עדיין יכולים לראות היכן ממוקמות כל הדיונים וללחוץ על הסימונים כדי לפתוח את ממשק הצ'אט במסך מלא.

טעינת תמונות דינמית

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

אם אתה טוען תמונות בעצלנות (lazy-loading) או מיישם תמונות רספונסיביות עם מידות שונות בנקודות שבירה שונות, הסימונים יתאימו את עצמם אוטומטית כאשר גודל התמונה ישתנה.

עקיבות בין מכשירים

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

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

שיקולי חלון התצוגה

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

הכנת התוכן לעתיד

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

התאמה אישית Internal Link

תמיכה במצב כהה

Image Chat כוללת תמיכה מובנית במצב כהה. כאשר אתה מגדיר את hasDarkBackground: true בקונפיגורציה שלך, חלונות הצ'אט והאלמנטים בממשק מסתנכרנים אוטומטית כדי לעבוד היטב על רקעים כהים.

FastCommentsImageChat(imageElement, {
    tenantId: 'demo',
    hasDarkBackground: true
});

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

מצב כהה דינמי

אם מצב כהה באתר שלך נשלט על ידי הוספת המחלקה .dark לאלמנט ה-body, ממשק Image Chat יתחשב בכך אוטומטית ללא צורך באתחול מחדש. העיצובים של הווידג'ט מעוצבים להגיב לנוכחות מחלקה זו.

/* CSS של מצב כהה שלך */
body.dark {
    background: #1a1a1a;
    color: #ffffff;
}

עיצוב מותאם אישית עם CSS

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

ריבועי הצ'אט והחלונות משתמשים במערכת העיצוב של בועות ההערות של FastComments, כך שכל התאמות שביצעת בווידג'ט ההערות הסטנדרטי ישפיעו גם על Image Chat.

גודל ריבוע הצ'אט

האופציה chatSquarePercentage שולטת בגודל הסמנים הניתנים ללחיצה. ברירת המחדל היא 5% מרוחב התמונה:

FastCommentsImageChat(imageElement, {
    tenantId: 'demo',
    chatSquarePercentage: 7  // ריבועים גדולים וברורים יותר
});

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

התנהגות בנייד

על מסכים ברוחב מתחת ל-768px, Image Chat עוברת אוטומטית לממשק מותאם לנייד. חלונות הצ'אט מופיעים במסך מלא במקום לצוף לצד הסמנים, מה שמשפר את השימושיות על מסכים קטנים.

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

מראה חלון הצ'אט

חלונות הצ'אט ברוחב 300px בדסקטופ עם חץ באורך 16px שמצביע אל הסמן. החלונות מתמקמים אוטומטית בהתבסס על מרווח הזמין ב-viewport, באמצעות מחלקות מיקום כמו to-right, to-left, to-top, ו-to-bottom.

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

אתחול עצלני

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

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

לוקליזציה

Image Chat תומך באותן אפשרויות לוקליזציה כמו הווידג'ט הסטנדרטי של FastComments. הגדר את האפשרות locale כדי להציג טקסט בממשק בשפות שונות:

FastCommentsImageChat(imageElement, {
    tenantId: 'demo',
    locale: 'fr'  // צרפתית
});

FastComments תומך בעשרות שפות. הגדרת ה-locale משפיעה על כל טקסט בממשק המשתמש, כולל הודעות, כפתורים וטקסט מחליף.

אפשרויות התאמה אישית שהווידג'ט יורש מהווידג'ט הבסיסי

מאחר ש-Image Chat מרחיב את הווידג'ט ההערות הסטנדרטי, הוא יורש את כל אפשרויות ההתאמה האישית של הווידג'ט הבסיסי. זה כולל מחלקות CSS מותאמות, תרגומים מותאמים, התאמת אביגר (avatar), עיצוב תאריכים ועוד.

עיין בתיעוד הראשי של FastComments עבור הרשימה המלאה של אפשרויות ההתאמה האישית הזמינות.

עבודה עם פונטים מותאמים

אם האתר שלך משתמש בפונטים מותאמים, ממשק Image Chat יירש את הפונטים האלה מתוך ה-CSS של הדף שלך. חלונות הצ'אט מתרשמים בתוך ה-DOM של הדף ומכבדים את הגדרות הטיפוגרפיה הקיימות שלך.

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

עיצוב חזותי של הסמנים

הסמנים הריבועיים מעוצבים בעדינות כדי שיהיו בולטים מבלי להציף את התמונה. ניתן להתאים את המראה שלהם באמצעות CSS אם תרצה טיפול ויזואלי שונה.

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

סנכרון בזמן אמת Internal Link

עדכונים בזמן אמת

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

כיצד סנכרון WebSocket עובד

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

מערכת ה-WebSocket משתמשת בשלושה סוגי הודעות שידור עבור Image Chat. האירוע new-image-chat מופעל כאשר מישהו יוצר סמן חדש על התמונה. האירוע image-chat-updated מופעל כאשר מישהו מעדכן שיחה קיימת. האירוע deleted-image-chat מופעל כאשר מישהו מוחק סמן.

מערכת מזהה השידור

כדי למנוע אפקט הדי (echo) שבו משתמשים רואים את הפעולות שלהם משודרות בחזרה אליהם, כל עדכון כולל broadcastId ייחודי. כאשר משתמש יוצר או מעדכן סמן, הלקוח שלו מייצר UUID עבור אותו פעולה. כאשר ה-WebSocket משדר את העדכון בחזרה לכל הלקוחות, הלקוח שיצר את הפעולה מתעלם מהעדכון כי הוא תואם את ה-broadcastId שלו.

זה מבטיח אינטראקציה חלקה שבה משתמשים רואים את השינויים שלהם מיד בממשק המשתמש (UI) מבלי להמתין לסיבוב הלוך-חזור דרך השרת, ובו בזמן מבטיח שכל שאר המשתמשים יקבלו את העדכון.

עמידות החיבור

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

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

שיקולי רוחב פס

הודעות WebSocket קלות במשקל ומכילות רק את המידע ההכרחי לסנכרון מצב. יצירת סמן חדש בדרך כלל משתמשת בפחות מ-1KB של רוחב פס. המערכת כוללת גם אצירת הודעות חכמה כדי להפחית את תדירות ההודעות בתקופות פעילות גבוהה.

מדדי השימוש בלוח המחוונים של FastComments עוקבים אחרי pubSubMessageCount ו-pubSubBandwidth כדי שתוכל לפקח על פעילות הסנכרון בזמן אמת באתריך.

סנכרון בין לשוניות

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

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

אבטחה

הודעות WebSocket מועברות דרך חיבורים מאובטחים (WSS) וכוללות אימות טננט כדי להבטיח שמשתמשים מקבלים רק עדכונים עבור שיחות שהם מורשים לצפות בהן. השרת מאמת את כל הפעולות לפני שהוא משדר אותן כדי למנוע גישה או מניפולציה לא מורשית.

התנהגות במצב לא מקוון

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

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

השפעה על ביצועים

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

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

מקרי שימוש שיתופיים

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

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

יש שאלות?

זה הכול לגבי FastComments Image Chat! אם יש לכם שאלות, אתם זקוקים לעזרה ביישום, או יש לכם הצעות לתכונות, אנא הודיעו לנו למטה או פנו לצוות התמיכה שלנו.

צפו בדמו החי בעמוד הדמו שלנו כדי לראות את Image Chat בפעולה.