chrome.debugger

الوصف

تعمل واجهة برمجة التطبيقات chrome.debugger كوسيلة نقل بديلة لبروتوكول تصحيح الأخطاء عن بُعد في Chrome. يمكنك استخدام chrome.debugger للإرفاق بعلامة تبويب واحدة أو أكثر من أجل قياس تفاعل الشبكة، وتصحيح أخطاء JavaScript، وتغيير نموذج العناصر في المستند (DOM) وCSS، وما إلى ذلك. ويمكنك استخدام tabId تصحيح الأخطاء لاستهداف علامات التبويب باستخدام sendCommand وتوجيه الأحداث بحلول tabId من عمليات معاودة الاتصال onEvent.

الأذونات

debugger

يجب الإفصاح عن إذن ""debugger"" في ملف بيان الإضافة لاستخدام واجهة برمجة التطبيقات هذه.

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

ملاحظة

لأسباب تتعلّق بالأمان، لا توفّر واجهة برمجة التطبيقات chrome.debugger إمكانية الوصول إلى جميع نطاقات البروتوكولات الأساسية في أدوات مطوّري البرامج في Chrome. <br class="ph-0-0-1CacheStorageDOMDebuggerDOMSnapshotWebAudioWebAuthn

أمثلة

لتجربة واجهة برمجة التطبيقات هذه، عليك تثبيت مثال واجهة برمجة التطبيقات Debugger API من مستودع chrome-extension-pattern.

الأنواع

Debuggee

معرّف تصحيح الأخطاء يجب تحديد إما TabId أو additionalId أو targetId.

أماكن إقامة

  • extensionId

    سلسلة اختيارية

    رقم تعريف الإضافة التي تريد تصحيح أخطائها. لا يمكن إرفاق صفحة خلفية لإحدى الإضافات إلا عند استخدام مفتاح سطر أوامر --silent-debugger-extension-api.

  • tabId

    الرقم اختياري

    رقم تعريف علامة التبويب التي تريد تصحيح أخطائها

  • targetId

    سلسلة اختيارية

    رقم التعريف المبهَم لهدف تصحيح الأخطاء.

DebuggerSession

في انتظار المراجعة

معرّف جلسة برنامج تصحيح الأخطاء. يجب تحديد واحد من tabId أو additionalId أو targetId. بالإضافة إلى ذلك، يمكن تقديم sessionId اختياري. إذا تم تحديد sessionId للوسيطات المُرسَلة من onEvent، يعني ذلك أنّ الحدث يأتي من جلسة بروتوكول فرعية ضمن جلسة تصحيح الأخطاء الجذر. في حال تحديد sessionId عند تمريرها إلى sendCommand، ستستهدِف جلسة بروتوكول فرعية ضمن جلسة تصحيح الأخطاء الجذر.

أماكن إقامة

  • extensionId

    سلسلة اختيارية

    رقم تعريف الإضافة التي تريد تصحيح أخطائها. لا يمكن إرفاق صفحة خلفية لإحدى الإضافات إلا عند استخدام مفتاح سطر أوامر --silent-debugger-extension-api.

  • sessionId

    سلسلة اختيارية

    رقم التعريف المبهَم لجلسة بروتوكول أدوات مطوّري البرامج في Chrome. لتحديد جلسة فرعية ضمن جلسة الجذر المحدّدة من خلال tabId أو additionalId أو targetId.

  • tabId

    الرقم اختياري

    رقم تعريف علامة التبويب التي تريد تصحيح أخطائها

  • targetId

    سلسلة اختيارية

    رقم التعريف المبهَم لهدف تصحيح الأخطاء.

DetachReason

Chrome 44 والإصدارات الأحدث

سبب إنهاء الاتصال

التعداد

"target_closed"

"canceled_by_user"

TargetInfo

معلومات تصحيح الأخطاء المستهدفة

أماكن إقامة

  • مرفق

    boolean

    صحيح إذا سبق إرفاق برنامج تصحيح الأخطاء.

  • extensionId

    سلسلة اختيارية

    رقم تعريف الإضافة، يتم تحديده إذا كان النوع = 'background_page'.

  • faviconUrl

    سلسلة اختيارية

    عنوان URL للرمز المفضّل المستهدَف.

  • id

    سلسلة

    رقم تعريف الهدف.

  • tabId

    الرقم اختياري

    رقم تعريف علامة التبويب، يتم تحديده إذا كان النوع == 'page'

  • title

    سلسلة

    عنوان الصفحة المستهدف.

  • كتابة

    نوع الاستهداف.

  • url

    سلسلة

    عنوان URL المستهدف.

TargetInfoType

Chrome 44 والإصدارات الأحدث

نوع الاستهداف.

التعداد

"background_page"

الطُرق

attach()

وعد
chrome.debugger.attach(
  target: Debuggee,
  requiredVersion: string,
  callback?: function,
)

إرفاق برنامج تصحيح الأخطاء بالهدف المحدّد.

المَعلمات

  • الاستهداف

    تصحيح أخطاء الاستهداف الذي تريد إرفاقه

  • requiredVersion

    سلسلة

    إصدار بروتوكول تصحيح الأخطاء المطلوب ("0.1"). يمكن إرفاق أحدهما فقط بتصحيح الأخطاء الذي يتضمّن رقم إصدار رئيسي مطابق وإصدار ثانوي أكبر أو مساوٍ له. يمكن الحصول على قائمة إصدارات البروتوكول من هنا.

  • معاودة الاتصال

    الدالة اختيارية

    تبدو معلَمة callback على النحو التالي:

    ()=>void

المرتجعات

  • Promise<void>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في إصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير عمليات معاودة الاتصال من أجل التوافق مع الأنظمة القديمة. لا يمكنك استخدام كليهما في نفس استدعاء الدالة. يتم حل الوعد بنفس النوع الذي يتم تمريره إلى معاودة الاتصال.

detach()

وعد
chrome.debugger.detach(
  target: Debuggee,
  callback?: function,
)

لفصل برنامج تصحيح الأخطاء عن الهدف المحدّد.

المَعلمات

  • الاستهداف

    تصحيح أخطاء الاستهداف الذي تريد إزالته منه.

  • معاودة الاتصال

    الدالة اختيارية

    تبدو معلَمة callback على النحو التالي:

    ()=>void

المرتجعات

  • Promise<void>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في إصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير عمليات معاودة الاتصال من أجل التوافق مع الأنظمة القديمة. لا يمكنك استخدام كليهما في نفس استدعاء الدالة. يتم حل الوعد بنفس النوع الذي يتم تمريره إلى معاودة الاتصال.

getTargets()

وعد
chrome.debugger.getTargets(
  callback?: function,
)

تعرض قائمة أهداف تصحيح الأخطاء المتاحة.

المَعلمات

  • معاودة الاتصال

    الدالة اختيارية

    تبدو معلَمة callback على النحو التالي:

    (result: TargetInfo[])=>void

    • نتيجة

      مصفوفة من عناصر TargetInfo المقابلة لأهداف تصحيح الأخطاء المتاحة.

المرتجعات

  • Promise<TargetInfo[]>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في إصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير عمليات معاودة الاتصال من أجل التوافق مع الأنظمة القديمة. لا يمكنك استخدام كليهما في نفس استدعاء الدالة. يتم حل الوعد بنفس النوع الذي يتم تمريره إلى معاودة الاتصال.

sendCommand()

وعد
chrome.debugger.sendCommand(
  target: DebuggerSession,
  method: string,
  commandParams?: object,
  callback?: function,
)

لإرسال الأمر المعيّن إلى هدف تصحيح الأخطاء

المَعلمات

  • الاستهداف

    تصحيح أخطاء الاستهداف الذي تريد إرسال الأمر إليه

  • method

    سلسلة

    اسم الطريقة. استخدام إحدى الطرق التي يحددها بروتوكول تصحيح الأخطاء عن بُعد.

  • commandParams

    الكائن اختياري

    كائن JSON مع مَعلمات الطلب يجب أن يتوافق هذا العنصر مع مخطط مَعلمات تصحيح الأخطاء عن بُعد للطريقة المحدّدة.

  • معاودة الاتصال

    الدالة اختيارية

    تبدو معلَمة callback على النحو التالي:

    (result?: object)=>void

    • نتيجة

      الكائن اختياري

      كائن JSON مع الاستجابة. تختلف بنية الاستجابة بناءً على اسم الطريقة ويتم تحديدها من خلال السمة "returns" (إرجاع) لوصف الأمر في بروتوكول تصحيح الأخطاء عن بُعد.

المرتجعات

  • Promise<object|undefined>

    Chrome 96 والإصدارات الأحدث

    تتوفّر الوعود في إصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير عمليات معاودة الاتصال من أجل التوافق مع الأنظمة القديمة. لا يمكنك استخدام كليهما في نفس استدعاء الدالة. يتم حل الوعد بنفس النوع الذي يتم تمريره إلى معاودة الاتصال.

فعاليات

onDetach

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

يتم تنشيطها عند إنهاء المتصفح جلسة تصحيح الأخطاء لعلامة التبويب. ويحدث ذلك عند إغلاق علامة التبويب أو عند استدعاء "أدوات مطوري البرامج في Chrome" لعلامة التبويب المرفقة.

المَعلمات

onEvent

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

يتم تنشيطها عندما يحدث خطأ عند تصحيح الأخطاء في الأحداث المستهدفة.

المَعلمات

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

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

    • المصدر
    • method

      سلسلة

    • params

      الكائن اختياري