الوصف
استخدِم واجهة برمجة التطبيقات chrome.devtools.network لاسترداد المعلومات حول طلبات الشبكة التي تعرضها "أدوات المطوّرين" في لوحة "الشبكة".
البيان
يمكنك الاطّلاع على ملخّص واجهات برمجة التطبيقات في "أدوات المطوّرين" للحصول على مقدّمة عامة حول استخدام واجهات برمجة التطبيقات في "أدوات المطوّرين".
نظرة عامة
يتم تمثيل معلومات طلبات الشبكة بتنسيق 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()
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,
)
يتم تنشيط هذا الحدث عندما تنتقل النافذة التي يتم فحصها إلى صفحة جديدة.
المعلمات
-
function
تبدو مَعلمة
callbackعلى النحو التالي:(url: string) => void
-
string
-
onRequestFinished
chrome.devtools.network.onRequestFinished.addListener(
callback: function,
)
يتم تنشيط هذا الحدث عند اكتمال طلب شبكة وتوفُّر جميع بيانات الطلب.