توضیحات
از API chrome.devtools.network برای بازیابی اطلاعات مربوط به درخواستهای شبکه که توسط ابزارهای توسعهدهندگان در پنل شبکه نمایش داده میشوند، استفاده کنید.
مانیفست
برای آشنایی کلی با استفاده از 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,
)
زمانی اجرا میشود که یک درخواست شبکه پایان یافته و تمام دادههای درخواست در دسترس باشند.