הסבר על תכונות המסוף

Sofia Emelianova
Sofia Emelianova

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

אם אתם מחפשים הפניית API לפונקציות כמו console.log(), תוכלו לעיין בהפניית API למסוף. למידע נוסף על פונקציות כמו monitorEvents(), אפשר לעיין במאמר Console Utilities API Reference.

פתיחת מסוף Cloud

אפשר לפתוח את המסוף כחלונית או ככרטיסייה בחלונית האפליקציות.

פתיחת חלונית המסוף

מקישים על Control+Shift+J או על Command+Option+J (ב-Mac).

המסוף.

כדי לפתוח את מסוף Cloud מתפריט הפקודות, מתחילים להקליד Console ואז מריצים את הפקודה Show Console עם התג Panel לידה.

הפקודה להצגת חלונית המסוף.

פתיחת המסוף בחלונית ההזזה

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

הצגת חלונית ההזזה של המסוף.

התפריט הקופץ יופיע בחלק התחתון של חלון כלי הפיתוח, עם הכרטיסייה מסוף פתוחה.

הכרטיסייה 'מסוף' בחלונית ההזזה.

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

הפקודה להצגת הכרטיסייה 'מסוף' בחלונית ההזזה.

פתיחת הגדרות מסוף

לוחצים על הגדרות. Console Settings (הגדרות מסוף) בפינה השמאלית העליונה של המסוף.

הגדרות מסוף.

בקישורים הבאים מוסבר על כל אחת מההגדרות:

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

סרגל הצד של המסוף.

הצגת הודעות

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

השבתת קיבוץ ההודעות

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

הצגת הודעות מנקודות עצירה

המסוף מסמן הודעות שמופעלות על ידי נקודות עצירה באופן הבא:

במסוף מסומנות הודעות שנוצרו על ידי נקודות עצירה (breakpoints) מותנות ונקודות רישום (logpoints).

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

הצגת מעקבי ערימה

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

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

מעקבי ערימה.

הצגת הסיבות לשגיאות בדוחות סטאק

ב-מסוף אפשר לראות שרשראות של סיבות לשגיאות ב-stack trace, אם יש כאלה.

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

רשימה של גורמי שגיאה עם הקידומת 'הסיבה:' ב-stack trace.

הצגת דוחות של קריסות באופן אסינכרוני

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

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

דוח קריסות אסינכרוני.

הצגת מסגרות ידועות של צד שלישי בנתוני מעקב הסטאק

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

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

הצגת N מסגרות נוספות.

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

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

רישום ביומן של בקשות XHR ואחזור

פותחים את הגדרות המסוף ומפעילים את האפשרות רישום ביומן של בקשות XMLHttpRequest כדי לרשום ביומן של המסוף את כל הבקשות מסוג XMLHttpRequest ו-Fetch בזמן שהן מתרחשות.

רישום ביומן של בקשות XMLHttpRequest ו-Fetch.

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

איך נראות בקשות ה-XMLHttpRequest וה-Fetch ביומן אחרי ביטול הקיבוץ.

שמירת הודעות בין טעינות דפים

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

הסתרת הודעות רשת

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

הודעה 404 במסוף.

כדי להסתיר הודעות רשת:

  1. פותחים את הגדרות המסוף.
  2. מסמנים את התיבה הסתרת הרשת.

הצגה או הסתרה של שגיאות CORS

במסוף יכולות להופיע שגיאות CORS אם בקשות רשת נכשלות בגלל שיתוף משאבים בין מקורות (CORS).

כדי להציג או להסתיר שגיאות CORS:

  1. פותחים את ההגדרות של המסוף.
  2. מסמנים את התיבה הצגת שגיאות CORS במסוף או מבטלים את הסימון שלה.

הצגת שגיאות CORS במסוף.

אם מסוף ה-CLI מוגדר להציג שגיאות CORS ואתם נתקלים בהן, תוכלו ללחוץ על הלחצנים הבאים לצד השגיאות:

לחצני 'רשת' ו'בעיות'.

סינון הודעות

יש הרבה דרכים לסנן הודעות במסוף.

סינון הודעות מהדפדפן

פותחים את סרגל הצד של מסוף Google ולוחצים על הודעות של משתמשים כדי להציג רק הודעות שהגיעו מ-JavaScript של הדף.

הצגת הודעות למשתמשים.

סינון לפי רמת יומן

כלי הפיתוח מקצים רמות חומרה לרוב השיטות של console.*.

יש ארבע רמות:

  • Verbose
  • Info
  • Warning
  • Error

לדוגמה, הערך console.log() נמצא בקבוצה Info, ואילו הערך console.error() נמצא בקבוצה Error. במאמר העזרה של Console API מתואר רמת החומרה של כל method רלוונטי.

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

לוחצים על התפריט הנפתח רמות יומן כדי להפעיל או להשבית הודעות ברמות Verbose, ‏ Info, ‏ Warning או Error.

התפריט הנפתח Log Levels (רמות יומן).

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

שימוש בסרגל הצד כדי להציג אזהרות.

סינון הודעות לפי כתובת URL

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

מסנן כתובות URL.

אפשר להשתמש גם בדומיינים. לדוגמה, אם https://example.com/a.js ו-https://example.com/b.js מתעדים הודעות ביומן, אפשר להשתמש ב-url:https://example.com כדי להתמקד בהודעות משני הסקריפטים האלה.

כדי להסתיר את כל ההודעות מכתובת URL מסוימת, מקלידים -url: ואחריו את כתובת ה-URL, לדוגמה, https://b.wal.co. זהו מסנן של כתובות URL שליליות.

מסנן של כתובות URL שליליות. כל ההודעות שתואמות לכתובת ה-URL שצוינה מוסתרות על ידי DevTools.

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

הצגת ההודעות מסקריפט ספציפי.

סינון הודעות מהקשרים שונים

נניח שיש לכם מודעה בדף. המודעה מוטמעת ב-<iframe> ויוצרת הרבה הודעות במסוף. מכיוון שהמודעה הזו נמצאת בהקשר JavaScript אחר, אחת מהדרכים להסתיר את ההודעות שלה היא לפתוח את הגדרות המסוף ולהפעיל את התיבה Selected Context Only.

סינון הודעות שלא תואמות לתבנית של ביטוי רגולרי

מקלידים ביטוי רגולרי כמו /[foo]\s[bar]/ בתיבת הטקסט Filter כדי לסנן הודעות שלא תואמות לדפוס הזה. אין להקליד רווחים. במקום זאת, צריך להשתמש ב-\s. כלי הפיתוח בודקים אם התבנית נמצאת בטקסט של ההודעה או בסקריפט שגרם להוספת ההודעה ליומן.

לדוגמה, הביטוי הבא מסנן את כל ההודעות שלא תואמות ל-/[gm][ta][mi]/.

סינון הודעות שלא תואמות ל-/[gm][ta][mi]/.

כדי לחפש טקסט בהודעות ביומן:

  1. כדי לפתוח את סרגל החיפוש המובנה, מקישים על Command+F (ב-Mac) או על Ctrl+F (ב-Windows וב-Linux).
  2. מקלידים את השאילתה בסרגל. בדוגמה הזו, השאילתה היא legacy. מקלידים שאילתה. אפשר גם:
    • לוחצים על התאמה לאותיות רישיות. Match Case כדי להפוך את השאילתה לתלויה באותיות רישיות.
    • לוחצים על לחצן ביטוי רגולרי (regex). שימוש בביטוי רגולרי כדי לחפש באמצעות ביטוי RegEx.
  3. מקישים על Enter. כדי לעבור לתוצאת החיפוש הקודמת או הבאה, לוחצים על הלחצן למעלה או למטה.

הרצת JavaScript

הקטע הזה מכיל תכונות שקשורות להרצת JavaScript במסוף. במאמר הרצת JavaScript מוסבר איך עושים את זה בפועל.

אפשרויות להעתקת מחרוזות

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

  • העתקה כליטרל של JavaScript. הופכת תווים מיוחדים מתאימים לתו בריחה (escape) ומעטפת את המחרוזת במירכאות בודדות, במירכאות כפולות או בסוגריים נטויים, בהתאם לתוכן.
  • מעתיקים את תוכן המחרוזת. העתקת המחרוזת הגולמית המדויקת ללוח, כולל שורות חדשות ותווים מיוחדים אחרים.
  • העתקה כליטרל של JSON. הפורמט של המחרוזת הוא JSON תקין.

אפשרויות ההעתקה.

הפעלה מחדש של ביטויים מההיסטוריה

מקישים על המקש חץ למעלה כדי לעבור בהיסטוריה של ביטויי JavaScript שהפעלתם קודם במסוף. מקישים על Enter כדי להריץ את הביטוי שוב.

הצגת הערך של ביטוי בזמן אמת באמצעות ביטויים בזמן אמת

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

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

כשמקלידים ביטויים של JavaScript במסוף, האפשרות Eager Evaluation מציגה תצוגה מקדימה של ערך ההחזרה של הביטוי. פותחים את הגדרות המסוף ומשביתים את התיבה Eager Evaluation כדי להשבית את התצוגה המקדימה של ערכי ההחזרה.

הפעלת תיעוד פעילות המשתמשים באמצעות הערכה

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

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

השבתת ההשלמה האוטומטית מההיסטוריה

כשמקלידים ביטוי, בחלון הקופץ של ההשלמה האוטומטית במסוף מוצגים ביטויים שהרצתם קודם. הביטויים האלה מתחילים בתווית >. בדוגמה הבאה, DevTools העריך מוקדם יותר את document.querySelector('a') ואת document.querySelector('img').

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

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

בחירת הקשר של JavaScript

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

התפריט הנפתח &#39;הקשר ל-JavaScript&#39;.

נניח שיש לכם מודעה בדף שמוטמעת ב-<iframe>. אתם רוצים להריץ JavaScript כדי לשנות את DOM של המודעה. כדי לעשות זאת, קודם צריך לבחור את הקשר הגלישה של המודעה בתפריט הנפתח JavaScript Context.

בחירת הקשר JavaScript אחר.

בדיקת מאפייני האובייקט

במסוף אפשר להציג רשימה אינטראקטיבית של המאפיינים של אובייקט JavaScript שציינתם.

כדי לעיין ברשימה, מקלידים את שם האובייקט במסוף ומקישים על Enter.

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

זיהוי נכסים משלכם ונכסים שעברו בירושה

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

הצגת מאפייני אובייקט.

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

הצגת מאפיינים שעברו בירושה.

הערכת פונקציות גישה בהתאמה אישית

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

זיהוי מאפיינים שניתן למנות ומאפיינים שלא ניתן למנות

מאפיינים שניתנים למנייה מודגשים בצבע בהיר. מאפיינים שלא ניתן למנות אותם מושתקים. מאפיינים שניתן למנות ומאפיינים שלא ניתן למנות. אפשר לבצע איטרציה על מאפיינים ניתנים למנייה באמצעות הלולאה for … in או השיטה Object.keys().

זיהוי מאפיינים פרטיים של מכונות של כיתות

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

נכס פרטי של מופע של כיתה.

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

השלמה אוטומטית של נכס פרטי.

בדיקה של מאפייני JavaScript פנימיים

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

יכול להיות שתראו את המאפיינים הפנימיים הבאים באובייקטים שונים:

בדיקת פונקציות

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

כדי להציג את מאפייני הפונקציה הפנימיים ב-JavaScript, משתמשים בפקודה console.dir().

בדיקת המאפיינים של פונקציה.

לפונקציות יש את המאפיינים הבאים:

  • [[FunctionLocation]]. קישור לשורה עם הגדרת הפונקציה בקובץ מקור.
  • [[Scopes]]. רשימה של ערכים וביטויים שיש לפונקציה גישה אליהם. במאמר הצגה ועריכה של מאפיינים מקומיים, של פונקציות סגורות ושל מאפיינים גלובליים מוסבר איך בודקים את היקפי הפונקציות במהלך ניפוי הבאגים.
  • לפונקציות מקושרות יש את המאפיינים הבאים:
    • [[TargetFunction]]. היעד של bind().
    • [[BoundThis]]. הערך של this.
    • [[BoundArgs]]. מערך של ארגומנטים של פונקציה. פונקציית איגוד.
  • פונקציות גנרטורים מסומנות במאפיין [[IsGenerator]]: true. פונקציית המחולל.
  • הגנרטורים מחזירים אובייקטים של איטרטור, שיש להם את המאפיינים הבאים:
    • [[GeneratorLocation]]. קישור לשורה עם הגדרת ה-generator בקובץ מקור.
    • [[GeneratorState]]:‏ suspended,‏ closed או running.
    • [[GeneratorFunction]]. המחולל שהחזיר את האובייקט.
    • [[GeneratorReceiver]]. אובייקט שמקבל את הערך. אובייקט Iterator.

ניקוי המסוף

אתם יכולים להשתמש בכל אחד מתהליכי העבודה הבאים כדי לנקות את המסוף:

  • לוחצים על ניקוי המסוף ניקוי..
  • לוחצים לחיצה ימנית על הודעה ובוחרים באפשרות ניקוי המסוף.
  • מקלידים clear() במסוף ומקישים על Enter.
  • קוראים ל-console.clear() מתוך ה-JavaScript של דף האינטרנט.
  • מקישים על Control+L כשהמסוף ממוקד.