chrome.devtools.network

توضیحات

از API chrome.devtools.network برای بازیابی اطلاعات مربوط به درخواست‌های شبکه که توسط ابزارهای توسعه‌دهندگان در پنل شبکه نمایش داده می‌شوند، استفاده کنید.

مانیفست

برای استفاده از این API، کلیدهای زیر باید در مانیفست تعریف شوند.

"devtools_page"

برای آشنایی کلی با استفاده از APIهای ابزارهای توسعه‌دهندگان، به خلاصه APIهای DevTools مراجعه کنید.

نمای کلی

اطلاعات درخواست‌های شبکه در قالب بایگانی HTTP ( HAR ) نمایش داده می‌شود. شرح HAR خارج از محدوده این سند است، لطفاً به مشخصات HAR نسخه ۱.۲ مراجعه کنید.

از نظر HAR، متد chrome.devtools.network.getHAR() کل گزارش HAR را برمی‌گرداند، در حالی که رویداد chrome.devtools.network.onRequestFinished ورودی HAR را به عنوان آرگومانی برای فراخوانی رویداد ارائه می‌دهد.

توجه داشته باشید که محتوای درخواست به دلایل افزایش بهره‌وری به عنوان بخشی از HAR ارائه نمی‌شود. می‌توانید متد getContent() مربوط به درخواست را برای بازیابی محتوا فراخوانی کنید.

اگر پنجره‌ی ابزارهای توسعه‌دهنده پس از بارگذاری صفحه باز شود، ممکن است برخی از درخواست‌ها در آرایه‌ی ورودی‌های برگردانده شده توسط getHAR() وجود نداشته باشند. برای دریافت تمام درخواست‌ها، صفحه را مجدداً بارگذاری کنید. به طور کلی، لیست درخواست‌های برگردانده شده توسط getHAR() باید با لیست نمایش داده شده در پنل شبکه مطابقت داشته باشد.

مثال‌ها

کد زیر URL های تمام تصاویر بزرگتر از ۴۰ کیلوبایت را هنگام بارگذاری ثبت می‌کند:

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

برای امتحان کردن این API، نمونه‌های API مربوط به devtools را از مخزن chrome-extension-samples نصب کنید.

انواع

Request

یک درخواست شبکه برای یک منبع سند (اسکریپت، تصویر و غیره) را نشان می‌دهد. برای مرجع به مشخصات HAR مراجعه کنید.

خواص

  • دریافت محتوا

    باطل

    وعده

    محتوای بدنه پاسخ را برمی‌گرداند.

    تابع getContent به شکل زیر است:

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

    • تماس برگشتی

      تابع اختیاری

      پارامتر callback به شکل زیر است:

      (response: object) => void

      • پاسخ

        شیء

        در حال بررسی

        یک شیء حاوی بدنه پاسخ و کدگذاری آن.

        • محتوا

          رشته

          محتوای بدنه پاسخ (به طور بالقوه کدگذاری شده).

        • کدگذاری

          رشته

          اگر محتوا کدگذاری نشده باشد، خالی و در غیر این صورت نام کدگذاری شده باشد. در حال حاضر، فقط از base64 پشتیبانی می‌شود.

    • بازده

      قول دادن<object>

      در حال بررسی

      تابعی که پس از اتمام درخواست، بدنه پاسخ را دریافت می‌کند.

      Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

روش‌ها

getHAR()

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

گزارش HAR را که شامل تمام درخواست‌های شناخته‌شده شبکه است، برمی‌گرداند.

پارامترها

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    (harLog: object) => void

    • هار لاگ

      شیء

      یک گزارش HAR. برای جزئیات بیشتر به مشخصات HAR مراجعه کنید.

بازگشت‌ها

  • قول دادن<object>

    در حال بررسی

    تابعی که پس از تکمیل درخواست، گزارش HAR را دریافت می‌کند.

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

رویدادها

onNavigated

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

هنگامی که پنجره‌ی بازرسی‌شده به صفحه‌ی جدیدی هدایت می‌شود، فعال می‌شود.

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (url: string) => void

    • آدرس اینترنتی

      رشته

onRequestFinished

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

زمانی اجرا می‌شود که یک درخواست شبکه پایان یافته و تمام داده‌های درخواست در دسترس باشند.

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (request: Request) => void