refresh date: 2026-09-25 robots: noindex
الوصف
تعمل واجهة برمجة التطبيقات chrome.debugger كبديل لبروتوكول تصحيح الأخطاء عن بُعد في Chrome. يمكنك استخدام chrome.debugger للربط بعلامة تبويب واحدة أو أكثر لتنظيم تفاعل الشبكة وتصحيح أخطاء JavaScript وتغيير DOM وCSS والمزيد. استخدِم السمة Debuggee tabId لاستهداف علامات التبويب باستخدام sendCommand وتوجيه الأحداث حسب tabId من عمليات الاستدعاء onEvent.
الأذونات
debuggerملاحظة حول الأمان
لأسباب تتعلق بالأمان، لا تتيح واجهة برمجة التطبيقات chrome.debugger الوصول إلى جميع نطاقات بروتوكول أدوات مطوّري البرامج في Chrome. النطاقات المتاحة هي: أدوات تسهيل الاستخدام وعمليات التدقيق وCacheStorage ووحدة التحكّم وCSS وقاعدة البيانات وبرنامج تصحيح الأخطاء وDOM وDOMDebugger وDOMSnapshot والمحاكاة والجلب والإدخال/الإخراج والإدخال وأداة الفحص والسجلّ والشبكة والتراكب والصفحة والأداء ووقت التشغيل ومساحة التخزين والهدف والتتبّع وWebAudio وWebAuthn.
البيان
يجب الإفصاح عن إذن "debugger" في بيان الإضافة لاستخدام واجهة برمجة التطبيقات هذه.
{
"name": "My extension",
...
"permissions": [
"debugger",
],
...
}
أمثلة
لتجربة واجهة برمجة التطبيقات هذه، يمكنك تثبيت مثال واجهة برمجة تطبيقات مصحِّح الأخطاء من مستودع chrome-extension-samples.
الأنواع
Debuggee
معرّف برنامج تصحيح الأخطاء يجب تحديد tabId أو extensionId أو targetId
الخصائص
-
extensionId
string اختياري
رقم تعريف الإضافة التي تريد تصحيح أخطائها لا يمكن الربط بصفحة خلفية للإضافة إلا عند استخدام مفتاح سطر الأوامر
--silent-debugger-extension-api. -
tabId
number اختيارية
رقم تعريف علامة التبويب التي تريد تصحيح أخطائها
-
targetId
string اختياري
المعرّف المبهم لهدف تصحيح الأخطاء
DebuggerSession
معرّف جلسة تصحيح الأخطاء يجب تحديد أحد العناصر التالية: tabId أو extensionId أو targetId. بالإضافة إلى ذلك، يمكن تقديم sessionId اختياري. إذا تم تحديد sessionId للوسيطات المُرسَلة من onEvent، يعني ذلك أنّ الحدث وارد من جلسة بروتوكول فرعية ضمن جلسة تصحيح الأخطاء الجذرية. إذا تم تحديد sessionId عند تمريره إلى sendCommand، يستهدف جلسة بروتوكول فرعية ضمن جلسة تصحيح الأخطاء الجذرية.
الخصائص
-
extensionId
string اختياري
رقم تعريف الإضافة التي تريد تصحيح أخطائها لا يمكن الربط بصفحة خلفية للإضافة إلا عند استخدام مفتاح سطر الأوامر
--silent-debugger-extension-api. -
sessionId
string اختياري
المعرّف غير الشفاف لجلسة بروتوكول أدوات مطوّري البرامج في Chrome يحدّد جلسة فرعية ضمن الجلسة الجذر التي يحدّدها tabId أو extensionId أو targetId.
-
tabId
number اختيارية
رقم تعريف علامة التبويب التي تريد تصحيح أخطائها
-
targetId
string اختياري
المعرّف المبهم لهدف تصحيح الأخطاء
DetachReason
سبب إنهاء الاتصال
Enum
"target_closed"
"canceled_by_user"
TargetInfo
معلومات عن هدف تصحيح الأخطاء
الخصائص
-
متصل
قيمة منطقية
تكون القيمة "صحيح" إذا كان مصحّح الأخطاء مرفقًا.
-
extensionId
string اختياري
معرّف الإضافة، يتم تحديده إذا كان النوع = 'background_page'.
-
faviconUrl
string اختياري
عنوان URL المستهدَف للرمز المفضّل
-
id
سلسلة
رقم تعريف الهدف
-
tabId
number اختيارية
معرّف علامة التبويب، ويتم تحديده إذا كان النوع == 'page'.
-
title
سلسلة
عنوان الصفحة المستهدفة
-
النوع
نوع الاستهداف:
-
url
سلسلة
عنوان URL المستهدف
TargetInfoType
نوع الاستهداف:
Enum
"page"
"background_page"
"worker"
"other"
الطُرق
attach()
chrome.debugger.attach(
target: Debuggee,
requiredVersion: string,
callback?: function,
): Promise<void>
لإرفاق مصحِّح الأخطاء بالهدف المحدّد
المعلمات
-
target
هدف تصحيح الأخطاء الذي تريد إرفاقه.
-
requiredVersion
سلسلة
إصدار بروتوكول تصحيح الأخطاء المطلوب ("0.1"). يمكن إرفاق برنامج تصحيح الأخطاء فقط برقم إصدار رئيسي مطابق ورقم إصدار ثانوي أكبر أو مساوٍ. يمكنك الحصول على قائمة بإصدارات البروتوكول هنا.
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
وعد<فراغ>
الإصدار 96 من Chrome أو الإصدارات الأحدثيتم حلّ المشكلة بعد نجاح عملية الإرفاق أو تعذُّرها. يتم تنفيذ الوعد بدون قيمة. إذا تعذّر الإرفاق، سيتم رفض الوعد.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
detach()
chrome.debugger.detach(
target: Debuggee,
callback?: function,
): Promise<void>
لفصل مصحِّح الأخطاء عن الهدف المحدّد
المعلمات
-
target
هدف تصحيح الأخطاء الذي تريد فصله
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
وعد<فراغ>
الإصدار 96 من Chrome أو الإصدارات الأحدثيتم حلّ المشكلة بعد نجاح عملية الفصل أو تعذُّرها. يتم تنفيذ الوعد بدون قيمة. إذا تعذّر الفصل، سيتم رفض الوعد.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
getTargets()
chrome.debugger.getTargets(
callback?: function,
): Promise<TargetInfo[]>
تعرض هذه الطريقة قائمة بأهداف تصحيح الأخطاء المتاحة.
المعلمات
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(result: TargetInfo[]) => void
-
نتيجة
مصفوفة من عناصر TargetInfo التي تتوافق مع أهداف تصحيح الأخطاء المتاحة.
-
المرتجعات
-
Promise<TargetInfo[]>
الإصدار 96 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
sendCommand()
chrome.debugger.sendCommand(
target: DebuggerSession,
method: string,
commandParams?: object,
callback?: function,
): Promise<object | undefined>
يتم إرسال الأمر المحدّد إلى هدف تصحيح الأخطاء.
المعلمات
-
target
هدف تصحيح الأخطاء الذي تريد إرسال الأمر إليه
-
method
سلسلة
اسم الطريقة يجب أن تكون إحدى الطرق المحدّدة في بروتوكول تصحيح الأخطاء عن بُعد.
-
commandParams
object اختياري
عنصر JSON يتضمّن مَعلمات الطلب يجب أن يتوافق هذا العنصر مع مخطّط مَعلمات تصحيح الأخطاء عن بُعد للطريقة المحدّدة.
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(result?: object) => void
-
نتيجة
object اختياري
كائن JSON مع الردّ تختلف بنية الاستجابة حسب اسم الطريقة ويتم تحديدها من خلال سمة "returns" لوصف الأمر في بروتوكول تصحيح الأخطاء عن بُعد.
-
المرتجعات
-
Promise<object | undefined>
الإصدار 96 من Chrome أو الإصدارات الأحدثنص الرد في حال حدوث خطأ أثناء نشر الرسالة، سيتم رفض الوعد.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
الفعاليات
onDetach
chrome.debugger.onDetach.addListener(
callback: function,
)
يتم تفعيل هذا الحدث عندما ينهي المتصفّح جلسة تصحيح الأخطاء لعلامة التبويب. يحدث ذلك عند إغلاق علامة التبويب أو عند استدعاء "أدوات مطوّري البرامج في Chrome" لعلامة التبويب المرفقة.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(source: Debuggee, reason: DetachReason) => void
-
المصدر
-
reason
-
onEvent
chrome.debugger.onEvent.addListener(
callback: function,
)
يتم تشغيله عند تصحيح أخطاء حدث قياس مشاكل الاستهداف.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(source: DebuggerSession, method: string, params?: object) => void
-
المصدر
-
method
سلسلة
-
params
object اختياري
-