chrome.debugger

الوصف

تعمل واجهة برمجة التطبيقات 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

الإصدار 125 من Chrome أو الإصدارات الأحدث

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

أماكن إقامة

  • extensionId

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

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

  • sessionId

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

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

  • tabId

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

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

  • targetId

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

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

DetachReason

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

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

Enum

"target_closed"

"canceled_by_user"

TargetInfo

تصحيح معلومات الهدف

أماكن إقامة

  • مرفق

    منطقي

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

  • extensionId

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

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

  • faviconUrl

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

    عنوان URL الخاص بالرمز المفضّل المستهدف

  • id

    سلسلة

    معرّف الهدف

  • tabId

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

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

  • title

    سلسلة

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

  • كتابة

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

  • url

    سلسلة

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

TargetInfoType

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

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

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&lt;TargetInfo[]&gt;

    الإصدار 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&lt;object | غير محددة>

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

    لا تتوفّر الوعود إلا مع إصدار 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

      سلسلة

    • المَعلمات

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