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
מזהה הסשן של מנפה הבאגים. צריך לציין אחד מהבאים: tabId, extensionId או targetId. אפשר גם לספק sessionId אופציונלי. אם sessionId מצוין לארגומנטים שנשלחים מ-onEvent, המשמעות היא שהאירוע מגיע מסשן של פרוטוקול צאצא בתוך סשן הבאגים הבסיסי. אם מציינים את sessionId כשמעבירים אותו אל sendCommand, הוא מטרגט סשן של פרוטוקול צאצא בתוך הסשן של ניפוי הבאגים ברמה הבסיסית (root).
מאפיינים
-
extensionId
מחרוזת אופציונלי
המזהה של התוסף שרוצים לנפות בו באגים. אפשר לצרף לדף רקע של תוסף רק כשמשתמשים במתג שורת הפקודה
--silent-debugger-extension-api. -
sessionId
מחרוזת אופציונלי
המזהה הלא שקוף של הסשן של פרוטוקול כלי הפיתוח ל-Chrome. מזהה סשן צאצא בתוך סשן הבסיס שמזוהה באמצעות tabId, extensionId או targetId.
-
tabId
מספר אופציונלי
המזהה של הכרטיסייה שרוצים לנפות בה באגים.
-
targetId
מחרוזת אופציונלי
המזהה האטום של יעד ניפוי הבאגים.
DetachReason
הסיבה לסגירת החיבור.
טיפוסים בני מנייה (enum)
"target_closed"
"canceled_by_user"
TargetInfo
מידע על יעד ניפוי הבאגים
מאפיינים
-
מצורף
בוליאני
הערך True אם מנפה הבאגים כבר מצורף.
-
extensionId
מחרוזת אופציונלי
מזהה התוסף, מוגדר אם type = 'background_page'.
-
faviconUrl
מחרוזת אופציונלי
כתובת ה-URL של סמל האתר המטורגט.
-
id [מזהה]
מחרוזת
מזהה היעד.
-
tabId
מספר אופציונלי
מזהה הכרטיסייה, מוגדר אם type == 'page'.
-
title
מחרוזת
כותרת דף היעד.
-
סוג
סוג היעד.
-
url
מחרוזת
כתובת ה-URL של היעד.
TargetInfoType
סוג היעד.
טיפוסים בני מנייה (enum)
"page"
"background_page"
"worker"
"other"
Methods
attach()
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()
chrome.debugger.detach(
target: Debuggee,
callback?: function,
): Promise<void>
ניתוק מנפה הבאגים מהיעד שצוין.
פרמטרים
-
יעד
יעד ניפוי הבאגים שרוצים לנתק.
-
callback
function optional
הפרמטר
callbackנראה כך:() => void
החזרות
-
Promise<void>
Chrome מגרסה 96 ואילךהפעולה מסתיימת כשפעולת הניתוק מצליחה או נכשלת. ה-promise מסתיים ללא ערך. אם הניתוק נכשל, ה-promise יידחה.
הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
getTargets()
chrome.debugger.getTargets(
callback?: function,
): Promise<TargetInfo[]>
החזרת רשימה של יעדי ניפוי באגים זמינים.
פרמטרים
-
callback
function optional
הפרמטר
callbackנראה כך:(result: TargetInfo[]) => void
-
תוצאה
מערך של אובייקטים מסוג TargetInfo שתואמים ליעדי ניפוי הבאגים הזמינים.
-
החזרות
-
Promise<TargetInfo[]>
Chrome מגרסה 96 ואילךהבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).
sendCommand()
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 מופעלים בכרטיסייה המצורפת.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(source: Debuggee, reason: DetachReason) => void
-
source
-
reason
-
onEvent
chrome.debugger.onEvent.addListener(
callback: function,
)
מופעל בכל פעם שיעד ניפוי הבאגים מפעיל אירוע אינסטרומנטציה.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(source: DebuggerSession, method: string, params?: object) => void
-
source
-
method
מחרוזת
-
פרמטרים
object optional
-