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