chrome.devtools.network

الوصف

استخدِم واجهة برمجة التطبيقات chrome.devtools.network لاسترداد المعلومات حول طلبات الشبكة التي تعرضها "أدوات المطوّرين" في لوحة "الشبكة".

البيان

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

"devtools_page"

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

نظرة عامة

يتم عرض معلومات طلبات الشبكة بتنسيق HTTP Archive (HAR). لا يتضمّن هذا المستند وصفًا لملف HAR، لذا يُرجى الرجوع إلى مواصفات HAR الإصدار 1.2.

في ما يتعلق بملف HAR، تعرض الطريقة chrome.devtools.network.getHAR() سجلّ HAR بالكامل، بينما يوفّر الحدث chrome.devtools.network.onRequestFinished إدخال HAR كمعلَمة لدالة معاودة الاتصال الخاصة بالحدث.

يُرجى العِلم أنّه لا يتم توفير محتوى الطلب كجزء من ملف HAR لأسباب تتعلّق بالكفاءة. يمكنك استدعاء طريقة getContent() الخاصة بطلب لجلب المحتوى.

إذا تم فتح نافذة "أدوات المطوّرين" بعد تحميل الصفحة، قد لا تظهر بعض الطلبات في مصفوفة الإدخالات التي تعرضها الدالة getHAR(). أعِد تحميل الصفحة للحصول على جميع الطلبات. بشكل عام، يجب أن تتطابق قائمة الطلبات التي تعرضها getHAR() مع تلك المعروضة في لوحة "الشبكة".

أمثلة

تسجّل الرمز البرمجي التالي عناوين URL لجميع الصور التي يزيد حجمها عن 40 كيلوبايت أثناء تحميلها:

chrome.devtools.network.onRequestFinished.addListener(
  function(request) {
    if (request.response.bodySize > 40*1024) {
      chrome.devtools.inspectedWindow.eval(
          'console.log("Large image: " + unescape("' +
          escape(request.request.url) + '"))');
    }
  }
);

لتجربة واجهة برمجة التطبيقات هذه، ثبِّت أمثلة على واجهة برمجة التطبيقات DevTools من مستودع chrome-extension-samples.

الأنواع

Request

تمثّل هذه السمة طلب شبكة لمصدر مستند (نص برمجي وصورة وما إلى ذلك). يمكنك الاطّلاع على مواصفات HAR كمرجع.

الخصائص

  • getContent

    إلغاء

    وعد

    تعرض هذه السمة محتوى نص الردّ.

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

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

    • callback

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

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

      (response: object) => void

      • رد

        عنصر

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

        كائن يحتوي على نص الاستجابة وتشفيره.

        • المحتوى

          سلسلة

          محتوى نص الاستجابة (قد يكون مشفّرًا).

        • الترميز

          سلسلة

          يكون هذا الحقل فارغًا إذا لم يتم ترميز المحتوى، وإلا سيحتوي على اسم الترميز. لا تتوفّر حاليًا سوى base64.

    • returns

      Promise<object>

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

      دالة تتلقّى نص الاستجابة عند اكتمال الطلب

      لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات رد الاتصال.

الطُرق

getHAR()

وعد
chrome.devtools.network.getHAR(
  callback?: function,
)
: Promise<object>

تعرض هذه الطريقة سجلّ HAR الذي يحتوي على جميع طلبات الشبكة المعروفة.

المعلمات

  • callback

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

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

    (harLog: object) => void

    • harLog

      عنصر

      سجلّ HAR لمزيد من التفاصيل، يمكنك الاطّلاع على مواصفات HAR.

المرتجعات

  • Promise<object>

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

    دالة تتلقّى سجلّ HAR عند اكتمال الطلب.

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات رد الاتصال.

الفعاليات

onNavigated

chrome.devtools.network.onNavigated.addListener(
  callback: function,
)

يتم تشغيل هذا الحدث عندما تنتقل النافذة التي تم فحصها إلى صفحة جديدة.

المعلمات

  • callback

    دالة

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

    (url: string) => void

    • url

      سلسلة

onRequestFinished

chrome.devtools.network.onRequestFinished.addListener(
  callback: function,
)

يتم تنشيط هذا الحدث عند انتهاء طلب الشبكة وتوفّر جميع بيانات الطلب.

المعلمات

  • callback

    دالة

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

    (request: Request) => void