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) + '"))');
    }
  }
);

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

الأنواع

Request

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

الخصائص

  • getContent

    void

    Promise

    يعرض محتوى نص الاستجابة.

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

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

    • callback

      function optional

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

      (response: object) => void

      • response

        object

        Chrome 151+

        عنصر يحتوي على نص الاستجابة والترميز الخاص به.

        • content

          string

          محتوى نص الاستجابة (قد يكون مُرمَّزًا)

        • encoding

          string

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

    • returns

      Promise<object>

      Chrome 151+

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

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

الطُرق

getHAR()

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

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

المعلمات

  • callback

    function optional

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

    (harLog: object) => void

    • harLog

      object

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

المرتجعات

  • Promise<object>

    Chrome 151+

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

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

الفعاليات

onNavigated

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

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

المعلمات

  • callback

    function

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

    (url: string) => void

    • url

      string

onRequestFinished

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

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

المعلمات

  • callback

    function

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

    (request: Request) => void