איך MousePlayer פועל
מדריך פשוט לארכיטקטורת המעקב שלנו, לטיפול ברזולוציות מסך בין מכשירים ולגבולות המערכת.
1. מדוע איננו משתמשים בהקלטת וידאו
תפיסה שגויה נפוצה היא שכלי ניתוח חזותיים מקליטים קובצי וידאו רגילים (כגון MP4 או WebM) של מסך המבקר. פעולה כזאת הייתה צורכת רוחב פס עצום, מאטה מאוד את האתר ויוצרת טקסט מטושטש ולא קריא.
במקום זאת, MousePlayer משתמש בטכנולוגיה קלה המכונה טלמטריית תמונות מצב DOM. כך היא פועלת ברמה הבסיסית:
תמונת מצב של המבנה
כשמבקר פותח דף, הסקריפט שלנו יוצר “תוכנית” טקסטואלית של מבנה ה-HTML והעיצוב. הוא מקליט היכן נמצאים הרכיבים בלי להעתיק את קובצי התמונה או הווידאו של הדף; הנגן טוען תמונות מהכתובת המקורית בעת הצפייה בהקלטה. החריג הוא רכיבי canvas, שתוכנם נשלח כתמונה (ראו למטה).
טלמטריית קואורדינטות
בעת האינטראקציה מוקלט זרם אירועים: מיקומי עכבר, עומק גלילה, יעדי לחיצה ושינויי גודל דפדפן, וכן השינויים בדף עצמו ובהתאם להגדרות — הודעות מסוף, בקשות שנכשלו או היו איטיות ומדידות זמן טעינה (Web Vitals). תנועות ולחיצות הן נתונים קטנים; תמונות מצב ושינויי דף יכולים להיות גדולים בהרבה בהתאם לדף, ונשלחים דחוסים.
ניגון במצב תיאטרון
בצפייה בסשן בלוח המחוונים, הנגן משחזר את הדף בעזרת המבנה שהוקלט ומזיז מעליו מצביע וירטואלי בזמן אמת, תוך שמירה על חדות הטקסט.
נבנה להישאר קל: הסקריפט נטען באופן אסינכרוני ומשדר נקודות נתונים מספריות קטנות במקום וידאו, ולכן ההשפעה שלו נשארת קטנה. המשמעות עבור Core Web Vitals שלך תלויה בדפים, באחסון וברשת המבקר, ולכן יש למדוד באתר שלך במקום להסתמך על נתון מאיתנו. לא מובטחת מהירות טעינה מסוימת – ראו סעיף 20 במסמך תנאי השירות.
2. טיפול ברזולוציות מסך & מכשירים ניידים
כיום גולשים בכל דבר, מטלפונים חכמים קומפקטיים ועד צגים שולחניים רחבים במיוחד ברזולוציית 4K. אתרים מזיזים, מקפלים ומסדרים מחדש את הפריסה כדי להתאים לרוחבי מסך שונים — עיקרון המכונה עיצוב אתרים רספונסיבי.
התאמה מדויקת לאזור התצוגה של המבקר
כדי למנוע עיוות בהקלטה, MousePlayer מקליט את הממדים המדויקים של אזור התצוגה של המבקר (למשל 390x844 לטלפון חכם או 1920x1080 לצג שולחני). בפתיחת נגן התיאטרון, המנוע יוצר סביבת ארגז חול בקנה מידה מתאים שמשקפת במדויק את יחס המסך המקורי של המבקר.
מחשבים שולחניים & ניידים
במחשבים רגילים אנו קולטים תנועת עכבר רציפה וניווט בין לשוניות באותו סשן דפדפן. תפריטים שנפתחים בריחוף מופיעים בהקלטה כאשר הדף משנה תוך כדי כך את המסמך; אפקט ריחוף המבוסס רק על CSS אינו גלוי במסמך ולכן אינו משוחזר בהקלטה.
טלפונים חכמים & טאבלטים
למסכי מגע אין מצביע עכבר מרחף. MousePlayer מתאים את עצמו אוטומטית באמצעות הקלטת מחוות נגיעה, גלילה בהחלקה ושינויי כיוון מסך (לאורך מול לרוחב).
האתגר של שינוי גודל באמצע סשן
אם מבקר מסובב טאבלט או משנה את גודל חלון הדפדפן במחשב באמצע הסשן, פריסת האתר משתנה באופן דינמי. MousePlayer קולט אירועי שינוי גודל אלה ומתאים את משטח הניגון בצורה חלקה ומיידית, כדי לשמר את הקשר האינטראקציה.
3. מגבלות מערכת & גבולות טכניים
כדי לכבד את פרטיות המשתמשים, לשמור על אבטחת הדפדפן ועל עיבוד נתונים מהיר, MousePlayer פועל בגבולות טכניים מוגדרים:
| גבול מערכת | כיצד MousePlayer מטפל בו |
|---|---|
| iFrames | מסגרות iframe מאותו מקור כמו הדף מוקלטות יחד עם תוכנן והאינטראקציה בתוכן. לא ניתן להקליט מבפנים תוכן מוטמע ממקור אחר (כגון נגני YouTube או טופסי תשלום של Stripe) בשל מדיניות אבטחת הדפדפן (Same-Origin Policy); הוא מופיע כמציין מיקום בהקלטה ואינו נטען בה. |
| שדות קלט רגישים (מידע מזהה) | שדות סיסמה ותשלום מוסתרים במכשיר המבקר בכל רמת הסתרה, והסתרה מלאה של כל קלט הטפסים היא ברירת המחדל בכל נכס. רואים שהייתה הקלדה, לא מה הוקלד. חלות שתי מגבלות: שתי רמות ההסתרה החלשות יותר מופעלות רק באישורנו בכתב, וההסתרה לעולם אינה מגיעה למה שהדף שלך מדפיס למסמך – דף אישור שמציג כתובת הוא חלק מתמונת המצב. שתיהן מפורטות במסמך הסכם עיבוד הנתונים. |
| רכיבי Canvas & WebGL | תוכן canvas מוקלט כתמונה: פעם אחת עם תמונת מצב הדף ושוב בכל שינוי, לכל היותר בערך פעם בשנייה ובמגבלת גודל. לכן אנימציות חלקות מופיעות כרצף פריימים. לא נשלחת תמונה באזורים מוסתרים או מרכיבי canvas שמכילים תמונות ממקור אחר; תוכן WebGL עלול להישאר ריק. |
| רכיבי Web Components (Shadow DOM) | שורשי shadow פתוחים מוקלטים עם תוכנם. שורשי shadow סגורים אינם נגישים לסקריפטים; תוכנם חסר בהקלטה. |
| תעבורה & אחסון בדפדפן | הנתונים נשלחים בחיבור WebSocket מוצפן (HTTPS/WSS). אם לא ניתן ליצור אותו, למשל בגלל פרוקסי, הסקריפט עובר לנתיב HTTP מוצפן; תמונות מצב גדולות במיוחד של הדף מועלות בנפרד דרך HTTPS. MousePlayer אינו מגדיר עוגיות; הוא משתמש באחסון המקומי ובאחסון הסשן של הדפדפן באתר שלך. |
| תקופות חוסר פעילות AFK | אם מבקר משאיר לשונית פתוחה ומתרחק ל-20 דקות, המנוע מזהה חוסר פעילות אוטומטית ומקצר את הפער בזמן הניגון, כדי לא לבזבז זמן בצפייה במסכים דוממים. |