browser.devtools.recorder

الوصف

استخدِم واجهة برمجة التطبيقات chrome.devtools.recorder لتخصيص لوحة "المسجّلة" في "أدوات المطوّرين".

devtools.recorder هي ميزة معاينة تتيح لك توسيع لوحة "المسجّل" في "أدوات مطوّري البرامج في Chrome".

اطّلِع على ملخّص واجهات برمجة التطبيقات في "أدوات المطوّرين" للحصول على مقدّمة عامة حول استخدام واجهات برمجة التطبيقات في "أدوات المطوّرين".

مدى التوفّر

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

المفاهيم والاستخدام

تخصيص ميزة التصدير

لتسجيل إضافة، استخدِم الدالة registerRecorderExtensionPlugin. تتطلّب هذه الدالة مثيلاً من المكوّن الإضافي وname وmediaType كمعلَمات. يجب أن ينفّذ مثيل المكوّن الإضافي طريقتَين: stringify وstringifyStep.

يظهر name الذي يوفّره الامتداد في قائمة تصدير ضمن لوحة المسجّل.

استنادًا إلى سياق التصدير، عندما ينقر المستخدم على خيار التصدير الذي يوفّره الامتداد، تستدعي لوحة المسجّل إحدى الوظيفتَين التاليتَين:

تسمح المَعلمة mediaType للإضافة بتحديد نوع الناتج الذي تنشئه باستخدام الدالتَين stringify وstringifyStep. على سبيل المثال، application/javascript إذا كانت النتيجة برنامج JavaScript.

تخصيص زر إعادة التشغيل

لتخصيص زر إعادة التشغيل في المسجّلة الذكية، استخدِم الدالة registerRecorderExtensionPlugin. يجب أن تنفّذ الإضافة طريقة replay لكي يصبح التخصيص ساريًا. في حال تم رصد الطريقة، سيظهر زر إعادة التشغيل في المسجّل. عند النقر على الزر، سيتم تمرير عنصر التسجيل الحالي كمعلَمة أولى إلى الطريقة replay.

في هذه المرحلة، يمكن للإضافة عرض RecorderView للتعامل مع إعادة التشغيل أو استخدام واجهات برمجة تطبيقات أخرى خاصة بالإضافات لمعالجة طلب إعادة التشغيل. لإنشاء RecorderView جديد، استدعِ browser.devtools.recorder.createView.

أمثلة

إضافة التصدير

ينفّذ الرمز التالي إضافة تعمل على تحويل التسجيل إلى سلسلة باستخدام JSON.stringify:

class MyPlugin {
  stringify(recording) {
    return Promise.resolve(JSON.stringify(recording));
  }
  stringifyStep(step) {
    return Promise.resolve(JSON.stringify(step));
  }
}

browser.devtools.recorder.registerRecorderExtensionPlugin(
  new MyPlugin(),
  /*name=*/'MyPlugin',
  /*mediaType=*/'application/json'
);

المكوّن الإضافي لإعادة التشغيل

ينفّذ الرمز البرمجي التالي مكوّنًا إضافيًا للتوسيع ينشئ عرضًا وهميًا لـ "المسجّلة الذكية" ويعرضه عند طلب إعادة التشغيل:

const view = await browser.devtools.recorder.createView(
  /* name= */ 'ExtensionName',
  /* pagePath= */ 'Replay.html'
);

let latestRecording;

view.onShown.addListener(() => {
  // Recorder has shown the view. Send additional data to the view if needed.
  browser.runtime.sendMessage(JSON.stringify(latestRecording));
});

view.onHidden.addListener(() => {
  // Recorder has hidden the view.
});

export class RecorderPlugin {
  replay(recording) {
    // Share the data with the view.
    latestRecording = recording;
    // Request to show the view.
    view.show();
  }
}

browser.devtools.recorder.registerRecorderExtensionPlugin(
  new RecorderPlugin(),
  /* name=*/ 'CoffeeTest'
);

يمكنك العثور على مثال كامل على إضافة على GitHub.

الأنواع

RecorderExtensionPlugin

واجهة إضافة يستدعيها لوحة "المسجّلة الذكية" لتخصيصها

الخصائص

  • إعادة التشغيل

    باطل

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

    يسمح للإضافة بتنفيذ وظيفة إعادة تشغيل مخصّصة.

    تبدو الدالة replay على النحو التالي:

    (recording: object) => {...}

  • stringify

    باطل

    تحويل تسجيل من تنسيق لوحة "المسجّلة" إلى سلسلة

    تبدو الدالة stringify على النحو التالي:

    (recording: object) => {...}

  • stringifyStep

    باطل

    تحويل خطوة من التسجيل من تنسيق لوحة المسجّلة الذكية إلى سلسلة

    تبدو الدالة stringifyStep على النحو التالي:

    (step: object) => {...}

RecorderView

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

يمثّل هذا النوع عرضًا أنشأته إضافة ليتم تضمينه داخل لوحة "المسجّل".

الخصائص

  • onHidden

    Event<functionvoidvoid>

    يتم إطلاق هذا الحدث عند إخفاء طريقة العرض.

    تبدو الدالة onHidden.addListener على النحو التالي:

    (callback: function) => {...}

    • callback

      دالة

      تظهر المَعلمة callback على النحو التالي:

      () => void

  • onShown

    Event<functionvoidvoid>

    يتم إطلاق هذا الحدث عند عرض طريقة العرض.

    تبدو الدالة onShown.addListener على النحو التالي:

    (callback: function) => {...}

    • callback

      دالة

      تظهر المَعلمة callback على النحو التالي:

      () => void

  • إظهار

    باطل

    تشير إلى أنّ الإضافة تريد عرض هذا العرض في لوحة "المسجّل".

    تبدو الدالة show على النحو التالي:

    () => {...}

الطُرق

createView()

الإصدار 112 من Chrome والإصدارات الأحدث
chrome.devtools.recorder.createView(
  title: string,
  pagePath: string,
)
: RecorderView

تنشئ هذه السمة طريقة عرض يمكنها التعامل مع إعادة التشغيل. سيتم تضمين طريقة العرض هذه داخل لوحة "المسجّل".

المعلمات

  • title

    سلسلة

    العنوان الذي يظهر بجانب رمز الإضافة في شريط أدوات "أدوات المطوّرين"

  • pagePath

    سلسلة

    مسار صفحة HTML للوحة بالنسبة إلى دليل الإضافة

المرتجعات

registerRecorderExtensionPlugin()

chrome.devtools.recorder.registerRecorderExtensionPlugin(
  plugin: RecorderExtensionPlugin,
  name: string,
  mediaType: string,
)
: void

تسجيل مكوّن إضافي لأداة Recorder

المعلمات

  • مكوّن إضافي

    مثيل ينفّذ واجهة RecorderExtensionPlugin.

  • الاسم

    سلسلة

    اسم المكوّن الإضافي

  • mediaType

    سلسلة

    نوع الوسائط لمحتوى السلسلة الذي ينتجه المكوّن الإضافي