chrome.debugger

refresh date: 2026-09-25 robots: noindex

תיאור

‫chrome.debugger API משמש כהעברה חלופית לפרוטוקול ניפוי הבאגים מרחוק של Chrome. אפשר להשתמש ב-chrome.debugger כדי לצרף לכרטיסייה אחת או יותר כדי למדוד אינטראקציה ברשת, לנפות באגים ב-JavaScript, לשנות את ה-DOM וה-CSS ועוד. משתמשים במאפיין Debuggee tabId כדי לטרגט כרטיסיות באמצעות sendCommand ולנתב אירועים לפי tabId מהקריאות החוזרות (callbacks) של onEvent.

הרשאות

debugger

הערת אבטחה

מטעמי אבטחה, ה-API של chrome.debugger לא מספק גישה לכל הדומיינים של פרוטוקול כלי הפיתוח ל-Chrome. הדומיינים הזמינים הם: Accessibility,‏ Audits,‏ CacheStorage,‏ Console,‏ CSS,‏ Database,‏ Debugger,‏ DOM,‏ DOMDebugger,‏ DOMSnapshot,‏ Emulation,‏ Fetch,‏ IO,‏ Input,‏ Inspector,‏ Log,‏ Network,‏ Overlay,‏ Page,‏ Performance,‏ Runtime,‏ Storage,‏ Target,‏ Tracing,‏ WebAudio ו-WebAuthn.

מניפסט

כדי להשתמש ב-API הזה, צריך להצהיר על ההרשאה "debugger" במניפסט של התוסף.

{
  "name": "My extension",
  ...
  "permissions": [
    "debugger",
  ],
  ...
}

דוגמאות

כדי לנסות את ה-API הזה, מתקינים את הדוגמה של debugger API ממאגר chrome-extension-samples.

סוגים

Debuggee

מזהה של רכיב שעובר ניפוי באגים. צריך לציין tabId, ‏ extensionId או targetId

מאפיינים

  • extensionId

    מחרוזת אופציונלי

    המזהה של התוסף שרוצים לנפות בו באגים. אפשר לצרף לדף רקע של תוסף רק כשמשתמשים במתג שורת הפקודה --silent-debugger-extension-api.

  • tabId

    מספר אופציונלי

    המזהה של הכרטיסייה שרוצים לנפות בה באגים.

  • targetId

    מחרוזת אופציונלי

    המזהה האטום של יעד ניפוי הבאגים.

DebuggerSession

‫Chrome מגרסה 125 ואילך

מזהה הסשן של מנפה הבאגים. צריך לציין אחד מהבאים: tabId, ‏ extensionId או targetId. אפשר גם לספק sessionId אופציונלי. אם sessionId מצוין לארגומנטים שנשלחים מ-onEvent, המשמעות היא שהאירוע מגיע מסשן של פרוטוקול צאצא בתוך סשן הבאגים הבסיסי. אם מציינים את sessionId כשמעבירים אותו אל sendCommand, הוא מטרגט סשן של פרוטוקול צאצא בתוך הסשן של ניפוי הבאגים ברמה הבסיסית (root).

מאפיינים

  • extensionId

    מחרוזת אופציונלי

    המזהה של התוסף שרוצים לנפות בו באגים. אפשר לצרף לדף רקע של תוסף רק כשמשתמשים במתג שורת הפקודה --silent-debugger-extension-api.

  • sessionId

    מחרוזת אופציונלי

    המזהה הלא שקוף של הסשן של פרוטוקול כלי הפיתוח ל-Chrome. מזהה סשן צאצא בתוך סשן הבסיס שמזוהה באמצעות tabId, ‏ extensionId או targetId.

  • tabId

    מספר אופציונלי

    המזהה של הכרטיסייה שרוצים לנפות בה באגים.

  • targetId

    מחרוזת אופציונלי

    המזהה האטום של יעד ניפוי הבאגים.

DetachReason

‫Chrome מגרסה 44 ואילך

הסיבה לסגירת החיבור.

טיפוסים בני מנייה (enum)

"target_closed"

"canceled_by_user"

TargetInfo

מידע על יעד ניפוי הבאגים

מאפיינים

  • מצורף

    בוליאני

    הערך True אם מנפה הבאגים כבר מצורף.

  • extensionId

    מחרוזת אופציונלי

    מזהה התוסף, מוגדר אם type = 'background_page'.

  • faviconUrl

    מחרוזת אופציונלי

    כתובת ה-URL של סמל האתר המטורגט.

  • id [מזהה]

    מחרוזת

    מזהה היעד.

  • tabId

    מספר אופציונלי

    מזהה הכרטיסייה, מוגדר אם type == 'page'.

  • title

    מחרוזת

    כותרת דף היעד.

  • סוג היעד.

  • url

    מחרוזת

    כתובת ה-URL של היעד.

TargetInfoType

‫Chrome מגרסה 44 ואילך

סוג היעד.

טיפוסים בני מנייה (enum)

"page"

"background_page"

"worker"

"other"

Methods

attach()

Promise
chrome.debugger.attach(
  target: Debuggee,
  requiredVersion: string,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • יעד

    יעד ניפוי הבאגים שאליו רוצים לצרף.

  • requiredVersion

    מחרוזת

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

  • callback

    function optional

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    ‫Chrome מגרסה 96 ואילך

    הפעולה מסתיימת כשהצירוף מצליח או נכשל. ה-promise מסתיים ללא ערך. אם הצירוף נכשל, ה-promise יידחה.

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

detach()

Promise
chrome.debugger.detach(
  target: Debuggee,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • יעד

    יעד ניפוי הבאגים שרוצים לנתק.

  • callback

    function optional

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    ‫Chrome מגרסה 96 ואילך

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

getTargets()

Promise
chrome.debugger.getTargets(
  callback?: function,
)
: Promise<TargetInfo[]>

החזרת רשימה של יעדי ניפוי באגים זמינים.

פרמטרים

  • callback

    function optional

    הפרמטר callback נראה כך:

    (result: TargetInfo[]) => void

    • תוצאה

      מערך של אובייקטים מסוג TargetInfo שתואמים ליעדי ניפוי הבאגים הזמינים.

החזרות

  • Promise<TargetInfo[]>

    ‫Chrome מגרסה 96 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

sendCommand()

Promise
chrome.debugger.sendCommand(
  target: DebuggerSession,
  method: string,
  commandParams?: object,
  callback?: function,
)
: Promise<object | undefined>

שליחת הפקודה שצוינה ליעד ניפוי הבאגים.

פרמטרים

  • יעד ניפוי הבאגים שאליו רוצים לשלוח את הפקודה.

  • method

    מחרוזת

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

  • commandParams

    object optional

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

  • callback

    function optional

    הפרמטר callback נראה כך:

    (result?: object) => void

    • תוצאה

      object optional

      אובייקט JSON עם התשובה. מבנה התגובה משתנה בהתאם לשם השיטה, והוא מוגדר על ידי המאפיין "returns" של תיאור הפקודה בפרוטוקול ניפוי הבאגים מרחוק.

החזרות

  • Promise<object | undefined>

    ‫Chrome מגרסה 96 ואילך

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

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

אירועים

onDetach

chrome.debugger.onDetach.addListener(
  callback: function,
)

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

פרמטרים

onEvent

chrome.debugger.onEvent.addListener(
  callback: function,
)

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

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (source: DebuggerSession, method: string, params?: object) => void

    • method

      מחרוזת

    • פרמטרים

      object optional