refresh date: 2026-09-25 robots: noindex
الوصف
استخدِم واجهة برمجة التطبيقات chrome.webRequest لمراقبة حركة البيانات وتحليلها، وللتدخّل في الطلبات أثناء نقلها أو حظرها أو تعديلها.
الأذونات
webRequestالبيان
يجب تضمين الإذن "webRequest" في بيان الإضافة لاستخدام واجهة برمجة التطبيقات لطلبات الويب، بالإضافة إلى أذونات المضيف اللازمة. للتدخّل في طلب مورد فرعي، يجب أن يكون لدى الإضافة إذن الوصول إلى كلّ من عنوان URL المطلوب والمصدر الذي بدأ الطلب. على سبيل المثال:
{
"name": "My extension",
...
"permissions": [
"webRequest"
],
"host_permissions": [
"*://*.google.com/*"
],
...
}
اعتبارًا من الإصدار 108 من Chrome، يمكنك تقديم بيانات الاعتماد بشكل غير متزامن لأحداث onAuthRequired إذا كنت تستخدم أذونات "webRequest" و"webRequestAuthProvider".
دورة حياة الطلبات
تحدّد واجهة برمجة التطبيقات لطلبات الويب مجموعة من الأحداث التي تتّبع دورة حياة طلب الويب. يمكنك استخدام هذه الأحداث لمراقبة حركة الزيارات وتحليلها. ستتيح لك بعض الأحداث المتزامنة اعتراض طلب أو حظره أو تعديله.
في ما يلي دورة حياة الحدث للطلبات الناجحة، يليها تعريفات الأحداث:

-
onBeforeRequest(متزامن اختياريًا) - يتم تنشيط هذا الحدث عندما يكون هناك وشك حدوث طلب. يتم إرسال هذا الحدث قبل إنشاء أي اتصال TCP، ويمكن استخدامه لإلغاء الطلبات أو إعادة توجيهها.
-
onBeforeSendHeaders(متزامن اختياريًا) - يتم تشغيل هذا الحدث عندما يكون على وشك حدوث طلب وتم إعداد العناوين الأولية. يهدف الحدث إلى السماح للإضافات بإضافة عناوين الطلبات وتعديلها وحذفها (*). يتم تمرير الحدث
onBeforeSendHeadersإلى جميع المشتركين، لذا قد يحاول المشتركون المختلفون تعديل الطلب. راجِع قسم تفاصيل التنفيذ لمعرفة كيفية التعامل مع ذلك. يمكن استخدام هذا الحدث لإلغاء الطلب. onSendHeaders- يتم تنشيط هذا الحدث بعد أن تتاح لجميع الإضافات فرصة تعديل عناوين الطلبات، ويعرض الإصدار النهائي (*). يتم تشغيل الحدث قبل إرسال العناوين إلى الشبكة. هذا الحدث إعلامي ويتم التعامل معه بشكل غير متزامن. ولا يسمح بتعديل الطلب أو إلغائه.
-
onHeadersReceived(متزامن اختياريًا) - يتم تشغيل هذا المشغّل في كل مرة يتم فيها تلقّي عنوان استجابة HTTP(S). وبسبب عمليات إعادة التوجيه وطلبات المصادقة، يمكن أن يحدث ذلك عدة مرات لكل طلب. يهدف هذا الحدث إلى السماح للإضافات بإضافة عناوين الاستجابة وتعديلها وحذفها، مثل عناوين Content-Type الواردة. تتم معالجة توجيهات التخزين المؤقت قبل تشغيل هذا الحدث، لذا لن يكون لتعديل العناوين، مثل Cache-Control، أي تأثير في ذاكرة التخزين المؤقت للمتصفح. ويتيح لك أيضًا إلغاء الطلب أو إعادة توجيهه.
-
onAuthRequired(متزامن اختياريًا) - يتم تنشيط هذا الحدث عندما يتطلّب الطلب مصادقة المستخدم. يمكن التعامل مع هذا الحدث بشكل متزامن لتوفير بيانات اعتماد المصادقة. يُرجى العِلم أنّ الإضافات قد تقدّم بيانات اعتماد غير صالحة. يجب الحرص على عدم الدخول في حلقة لا نهائية من خلال تقديم بيانات اعتماد غير صالحة بشكل متكرّر. يمكن استخدام هذا الإجراء أيضًا لإلغاء الطلب.
onBeforeRedirect- يتم تنشيط هذا الحدث عندما توشك عملية إعادة التوجيه على التنفيذ. يمكن أن يتم تشغيل عملية إعادة التوجيه من خلال رمز استجابة HTTP أو من خلال إضافة. هذا الحدث إعلامي ويتم التعامل معه بشكل غير متزامن. ولا يسمح لك بتعديل الطلب أو إلغائه.
onResponseStarted- يتم تنشيط هذا الحدث عند تلقّي البايت الأول من نص الردّ. بالنسبة إلى طلبات HTTP، يعني ذلك أنّ سطر الحالة وعناوين الاستجابة متوفّرة. هذا الحدث إعلامي ويتم التعامل معه بشكل غير متزامن. ولا يسمح بتعديل الطلب أو إلغائه.
onCompleted- يتم تنشيط هذا الحدث عند معالجة طلب بنجاح.
onErrorOccurred- يتم تنشيط هذا الحدث عندما يتعذّر معالجة طلب بنجاح.
تضمن واجهة برمجة التطبيقات لطلبات الويب أنّه يتم تنشيط onCompleted أو onErrorOccurred كحدث نهائي لكل طلب، باستثناء حالة واحدة: إذا تمت إعادة توجيه الطلب إلى عنوان URL data://، سيكون onBeforeRedirect هو آخر حدث تم تسجيله.
* يُرجى العِلم أنّ واجهة برمجة التطبيقات لطلبات الويب تقدّم تجريدًا لمجموعة بروتوكولات الشبكة إلى الإضافة. داخليًا، يمكن تقسيم طلب عنوان URL واحد إلى عدة طلبات HTTP (على سبيل المثال، لجلب نطاقات بايت فردية من ملف كبير) أو يمكن أن يتعامل معه حزمة الشبكة بدون التواصل مع الشبكة. لهذا السبب، لا توفّر واجهة برمجة التطبيقات عناوين HTTP النهائية التي يتم إرسالها إلى الشبكة. على سبيل المثال، تكون جميع العناوين ذات الصلة بالتخزين المؤقت غير مرئية للإضافة.
في الوقت الحالي، لا يتم توفير العناوين التالية لحدث onBeforeSendHeaders. يُرجى العِلم أنّ هذه القائمة
ليست مضمونة بأنّها كاملة أو ثابتة.
- التفويض
- Cache-Control
- الاتصال
- Content-Length
- المضيف
- If-Modified-Since
- If-None-Match
- If-Range
- Partial-Data
- Pragma
- Proxy-Authorization
- Proxy-Connection
- Transfer-Encoding
بدءًا من الإصدار 79 من Chrome، تؤثر تعديلات عناوين الطلبات في عمليات التحقّق من مشاركة المراجع مع نطاقات خارجية (CORS). إذا لم تستوفِ العناوين المعدَّلة للطلبات المشتركة المنشأ المعايير، سيؤدي ذلك إلى إرسال طلب مبدئي لبروتوكول مشاركة الموارد المتعددة المصادر (CORS) إلى الخادم لمعرفة ما إذا كان يمكن قبول هذه العناوين. إذا كنت بحاجة إلى تعديل العناوين بطريقة تخالف بروتوكول CORS، عليك تحديد 'extraHeaders' في opt_extraInfoSpec. من ناحية أخرى، لا يمكن خداع عمليات التحقّق من CORS من خلال تعديل عناوين الاستجابة. إذا كنت بحاجة إلى خداع بروتوكول CORS، عليك أيضًا تحديد 'extraHeaders' لتعديلات الرد.
بدءًا من الإصدار 79 من Chrome، لا تعترض webRequest API طلبات CORS المسبقة والردود عليها تلقائيًا. يكون الطلب المبدئي لبروتوكول مشاركة الموارد المشتركة المنشأ (CORS) الخاص بعنوان URL مرئيًا لإحدى الإضافات إذا كان هناك مستمع يتضمّن 'extraHeaders' محدّدًا في opt_extraInfoSpec لعنوان URL الخاص بالطلب.
يمكن أن يستفيد onBeforeRequest أيضًا من 'extraHeaders' في الإصدار 79 من Chrome.
اعتبارًا من الإصدار 79 من Chrome، لا يتم توفير عنوان الطلب التالي ولا يمكن تعديله أو إزالته بدون تحديد 'extraHeaders' في opt_extraInfoSpec:
- الأصل
بدءًا من الإصدار 72 من Chrome، إذا كنت بحاجة إلى تعديل الردود قبل أن يتمكّن حظر القراءة من مصادر متعددة من حظر الرد، عليك تحديد 'extraHeaders' في opt_extraInfoSpec.
اعتبارًا من الإصدار 72 من Chrome، لا يتم توفير عناوين الطلبات التالية ولا يمكن تعديلها
أو إزالتها بدون تحديد 'extraHeaders' في opt_extraInfoSpec:
- Accept-Language
- Accept-Encoding
- المُحيل
- ملف تعريف الارتباط
اعتبارًا من الإصدار 72 من Chrome، لن يتم توفير عنوان الاستجابة Set-Cookie ولا يمكن تعديله أو إزالته بدون تحديد 'extraHeaders' في opt_extraInfoSpec.
اعتبارًا من الإصدار 89 من Chrome، لا يمكن تعديل عنوان الاستجابة X-Frame-Options أو إزالته بشكل فعّال بدون تحديد 'extraHeaders' في opt_extraInfoSpec.
لا تعرض واجهة برمجة التطبيقات webRequest إلا الطلبات التي تملك الإضافة إذنًا بالاطّلاع عليها، وذلك وفقًا لأذونات المضيف. بالإضافة إلى ذلك، يمكن الوصول إلى المخططات التالية فقط: http:// أو https:// أو ftp:// أو file:// أو ws:// (منذ الإصدار 58 من Chrome) أو wss:// (منذ الإصدار 58 من Chrome) أو urn: (منذ الإصدار 91 من Chrome) أو chrome-extension://. بالإضافة إلى ذلك، يتم إخفاء بعض الطلبات التي تتضمّن عناوين URL تستخدم أحد المخططات أعلاه. وتشمل هذه الحالات chrome-extension://other_extension_id حيث لا يكون other_extension_id هو معرّف الإضافة التي ستتعامل مع الطلب، وhttps://www.google.com/chrome، وطلبات حساسة أخرى أساسية لوظائف المتصفح. بالإضافة إلى ذلك، يتم إخفاء طلبات XMLHttpRequests المتزامنة من معالِجات الأحداث التي تحظرها، وذلك لمنع حدوث حالات توقّف تام. يُرجى العِلم أنّه بالنسبة إلى بعض المخططات المتوافقة، قد تكون مجموعة الأحداث المتاحة محدودة بسبب طبيعة البروتوكول المعنيّ. على سبيل المثال، بالنسبة إلى مخطط الملفات، لا يمكن إرسال سوى onBeforeRequest وonResponseStarted وonCompleted وonErrorOccurred.
اعتبارًا من الإصدار 58 من Chrome، تتيح واجهة برمجة التطبيقات webRequest اعتراض طلب تأكيد الاتصال بخادم WebSocket. بما أنّ عملية المصافحة تتم من خلال طلب ترقية HTTP، فإنّ مسارها يتناسب مع نموذج webRequest الموجّه إلى HTTP. يُرجى العِلم أنّ واجهة برمجة التطبيقات لا تعترض ما يلي:
- رسائل فردية يتم إرسالها عبر اتصال WebSocket تم إنشاؤه
- جارٍ إغلاق اتصال WebSocket.
لا يمكن إعادة التوجيه لطلبات WebSocket.
اعتبارًا من الإصدار 72 من Chrome، لن تتمكّن الإضافة من اعتراض طلب إلا إذا كانت لديها أذونات المضيف لكل من عنوان URL المطلوب ومصدر الطلب.
بدءًا من الإصدار 96 من Chrome، تتيح واجهة برمجة التطبيقات webRequest اعتراض طلب المصافحة WebTransport عبر HTTP/3. بما أنّ عملية المصافحة تتم من خلال طلب HTTP CONNECT، فإنّ مسارها يتناسب مع نموذج webRequest المستند إلى HTTP. يُرجى ملاحظة ما يلي:
- بعد إنشاء الجلسة، لا يمكن للإضافات مراقبة الجلسة أو التدخّل فيها من خلال webRequest API.
- يتم تجاهل تعديل عناوين طلبات HTTP في
onBeforeSendHeaders. - غير متاح عمليات إعادة التوجيه والمصادقة في WebTransport عبر HTTP/3.
المفاهيم
كما توضّح الأقسام التالية، تستخدم الأحداث في واجهة برمجة التطبيقات لطلبات الويب أرقام تعريف الطلبات، ويمكنك اختياريًا تحديد الفلاتر والمعلومات الإضافية عند تسجيل أدوات معالجة الأحداث.
معرّفات الطلبات
يتم تحديد كل طلب من خلال معرّف الطلب. ويكون هذا المعرّف فريدًا ضمن جلسة المتصفّح وسياق الإضافة. ويظل ثابتًا خلال دورة حياة الطلب ويمكن استخدامه لمطابقة الأحداث الخاصة بالطلب نفسه. يُرجى العِلم أنّه يتم ربط عدّة طلبات HTTP بطلب ويب واحد في حال إعادة التوجيه عبر HTTP أو المصادقة عبر HTTP.
تسجيل أدوات معالجة الأحداث
لتسجيل متتبِّع أحداث لطلب ويب، عليك استخدام صيغة مختلفة من الدالة addListener()
العادية. بالإضافة إلى تحديد دالة ردّ الاتصال، عليك تحديد وسيطة فلتر، ويمكنك تحديد وسيطة معلومات إضافية اختيارية.
تتضمّن وسيطات addListener() لواجهة برمجة التطبيقات لطلبات الويب التعريفات التالية:
var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];
في ما يلي مثال على الاستماع إلى حدث onBeforeRequest:
chrome.webRequest.onBeforeRequest.addListener(
callback, filter, opt_extraInfoSpec);
يتطلّب كل طلب addListener() دالة ردّ اتصال إلزامية كالمَعلمة الأولى. يتم تمرير دالة معاودة الاتصال هذه إلى قاموس يحتوي على معلومات حول طلب عنوان URL الحالي. تعتمد المعلومات الواردة في هذا القاموس على نوع الحدث المحدّد بالإضافة إلى محتوى opt_extraInfoSpec.
إذا كانت مصفوفة opt_extraInfoSpec الاختيارية تحتوي على السلسلة 'blocking' (مسموح بها فقط للأحداث المحدّدة)، يتم التعامل مع دالّة رد الاتصال بشكل متزامن. وهذا يعني أنّه سيتم حظر الطلب إلى أن تعرض دالّة رد الاتصال النتيجة. في هذه الحالة، يمكن أن تعرض دالة معاودة الاتصال
webRequest.BlockingResponse تحدّد دورة الحياة اللاحقة للطلب. استنادًا إلى السياق، يتيح هذا الرد إلغاء طلب أو إعادة توجيهه (onBeforeRequest)، أو إلغاء طلب أو تعديل العناوين (onBeforeSendHeaders وonHeadersReceived)، أو إلغاء طلب أو تقديم بيانات اعتماد المصادقة (onAuthRequired).
إذا كان مصفوفة opt_extraInfoSpec الاختيارية تحتوي على السلسلة 'asyncBlocking' بدلاً من ذلك (مسموح بها فقط لـ onAuthRequired)، يمكن للإضافة إنشاء webRequest.BlockingResponse بشكل غير متزامن.
تسمح السمة webRequest.RequestFilter filter بالحدّ من الطلبات التي يتم تشغيل الأحداث لها في مختلف السمات:
- عناوين URL
- أنماط عناوين URL، مثل
*://www.google.com/foo*bar - الأنواع
- أنواع الطلبات، مثل
main_frame(مستند يتم تحميله لإطار ذي مستوى أعلى) وsub_frame(مستند يتم تحميله لإطار مضمّن) وimage(صورة على موقع إلكتروني). يمكنك الاطّلاع علىwebRequest.RequestFilter. - رقم تعريف علامة التبويب
- معرّف لعلامة تبويب واحدة
- رقم تعريف النافذة
- معرّف النافذة
استنادًا إلى نوع الحدث، يمكنك تحديد السلاسل في opt_extraInfoSpec لطلب معلومات إضافية حول الطلب. يتم استخدامها لتقديم معلومات تفصيلية حول بيانات الطلب فقط
إذا تم طلب ذلك صراحةً.
تفاصيل التنفيذ
هناك العديد من تفاصيل التنفيذ التي قد يكون من المهم فهمها عند تطوير إضافة تستخدم واجهة برمجة التطبيقات لطلبات الويب:
web_accessible_resources
عندما تستخدم إضافة واجهات برمجة تطبيقات webRequest لإعادة توجيه طلب مورد عام إلى مورد لا يمكن الوصول إليه على الويب، يتم حظرها وسيؤدي ذلك إلى حدوث خطأ. ينطبق ما ورد أعلاه حتى إذا كان المورد الذي لا يمكن الوصول إليه على الويب مملوكًا للإضافة التي تعيد التوجيه. لتحديد الموارد التي سيتم استخدامها مع واجهات برمجة التطبيقات declarativeWebRequest، يجب تحديد مصفوفة "web_accessible_resources" وتعبئتها في ملف البيان كما هو موضّح هنا.
حلّ النزاعات
في التنفيذ الحالي لواجهة برمجة التطبيقات لطلبات الويب، يُعدّ الطلب ملغيًا إذا طلبت إضافة واحدة على الأقل إلغاء الطلب. إذا ألغت إضافة طلبًا، سيتم إشعار جميع الإضافات من خلال حدث onErrorOccurred. يمكن لإضافة واحدة فقط إعادة توجيه طلب أو تعديل عنوان في كل مرة. إذا حاولت أكثر من إضافة تعديل الطلب، ستنجح الإضافة التي تم تثبيتها مؤخرًا، وسيتم تجاهل جميع الإضافات الأخرى. لا يتم إشعار الإضافة إذا تم تجاهل تعليماتها بتعديل المحتوى أو إعادة توجيهه.
التخزين المؤقت
يستخدم Chrome نوعَين من ذاكرة التخزين المؤقت: ذاكرة تخزين مؤقت على القرص وذاكرة تخزين مؤقت سريعة جدًا في الذاكرة. ترتبط مدة بقاء ذاكرة التخزين المؤقت داخل الذاكرة بمدة بقاء عملية العرض، والتي تتوافق تقريبًا مع علامة تبويب.
لا يمكن لواجهة برمجة التطبيقات لطلبات الويب رصد الطلبات التي يتم الردّ عليها من ذاكرة التخزين المؤقت داخل الجهاز. إذا غيّر معالج الطلبات سلوكه (على سبيل المثال، السلوك الذي يتم بموجبه حظر الطلبات)، قد لا يتم تطبيق هذا السلوك المتغيّر عند إعادة تحميل الصفحة ببساطة. لضمان تطبيق التغيير في السلوك، اتّصِل بالدالة handlerBehaviorChanged() لإفراغ ذاكرة التخزين المؤقت. ولكن لا تفعل ذلك كثيرًا لأنّ إفراغ ذاكرة التخزين المؤقت عملية مكلفة جدًا. لست بحاجة إلى استدعاء handlerBehaviorChanged() بعد تسجيل متتبِّع الأحداث أو إلغاء تسجيله.
الطوابع الزمنية
لا يمكن ضمان اتّساق قيمة السمة timestamp لأحداث طلبات الويب إلا داخليًا.
ستمنحك مقارنة حدث بحدث آخر الإزاحة الصحيحة بينهما، ولكن مقارنتهما بالوقت الحالي داخل الإضافة (من خلال (new Date()).getTime() مثلاً) قد تؤدي إلى نتائج غير متوقّعة.
معالجة الأخطاء
إذا حاولت تسجيل حدث باستخدام وسيطات غير صالحة، سيحدث خطأ في JavaScript، ولن يتم تسجيل معالج الحدث. إذا حدث خطأ أثناء معالجة حدث أو إذا عرض معالج الأحداث استجابة حظر غير صالحة، سيتم تسجيل رسالة خطأ في وحدة تحكّم الإضافة، وسيتم تجاهل المعالج لهذا الطلب.
أمثلة
يوضّح المثال التالي كيفية حظر جميع الطلبات إلى www.evil.com:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
return {cancel: details.url.indexOf("://www.evil.com/") != -1};
},
{urls: ["<all_urls>"]},
["blocking"]
);
بما أنّ هذه الدالة تستخدم معالج أحداث حظر، فإنّها تتطلّب الإذن "webRequest" بالإضافة إلى الإذن "webRequestBlocking" في ملف البيان.
يحقّق المثال التالي الهدف نفسه بطريقة أكثر فعالية لأنّه لا حاجة إلى تمرير الطلبات غير المستهدِفة www.evil.com إلى الإضافة:
chrome.webRequest.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]
);
يوضّح المثال التالي كيفية حذف عنوان User-Agent من جميع الطلبات:
chrome.webRequest.onBeforeSendHeaders.addListener(
function(details) {
for (var i = 0; i < details.requestHeaders.length; ++i) {
if (details.requestHeaders[i].name === 'User-Agent') {
details.requestHeaders.splice(i, 1);
break;
}
}
return {requestHeaders: details.requestHeaders};
},
{urls: ["<all_urls>"]},
["blocking", "requestHeaders"]
);
لتجربة واجهة برمجة التطبيقات chrome.webRequest، ثبِّت عينة webRequest من مستودع chrome-extension-samples.
الأنواع
BlockingResponse
تعرض هذه السمة قيمة لمعالجات الأحداث التي تم تطبيق extraInfoSpec عليها باستخدام القيمة "blocking". تسمح لمعالج الأحداث بتعديل طلبات الشبكة.
الخصائص
-
authCredentials
كائن اختياري
يتم استخدامها فقط كردّ على الحدث onAuthRequired. في حال ضبطها، يتم تقديم الطلب باستخدام بيانات الاعتماد المقدَّمة.
-
كلمة المرور
سلسلة
-
اسم المستخدم
سلسلة
-
-
إلغاء
boolean اختياري
إذا كانت القيمة صحيحة، يتم إلغاء الطلب. يمنع ذلك إرسال الطلب. يمكن استخدام هذا النوع من الاستجابات للردّ على الأحداث onBeforeRequest وonBeforeSendHeaders وonHeadersReceived وonAuthRequired.
-
redirectUrl
سلسلة اختيارية
يتم استخدامها فقط كردّ على الحدثَين onBeforeRequest وonHeadersReceived. في حال ضبط هذا الحقل، يتم منع إرسال الطلب الأصلي أو إكماله، ويتم بدلاً من ذلك إعادة توجيهه إلى عنوان URL المحدّد. يُسمح بعمليات إعادة التوجيه إلى مخطّطات غير HTTP، مثل
data:. تستخدم عمليات إعادة التوجيه التي يتم بدؤها من خلال إجراء إعادة توجيه طريقة الطلب الأصلية لإعادة التوجيه، باستثناء حالة واحدة: إذا تم بدء عملية إعادة التوجيه في مرحلة onHeadersReceived، سيتم إصدار عملية إعادة التوجيه باستخدام طريقة GET. يتم تجاهل عمليات إعادة التوجيه من عناوين URL التي تتضمّن المخططَينws://وwss://. -
requestHeaders
HttpHeaders اختيارية
يُستخدَم فقط كردّ على الحدث onBeforeSendHeaders. في حال ضبطها، يتم تقديم الطلب باستخدام عناوين الطلبات هذه بدلاً من ذلك.
-
responseHeaders
HttpHeaders اختيارية
يتم استخدامها فقط كردّ على الحدث onHeadersReceived. في حال ضبطها، يُفترض أنّ الخادم قد استجاب باستخدام عناوين الاستجابة هذه بدلاً من ذلك. لا تعرض القيمة
responseHeadersإلا إذا كنت تريد تعديل العناوين للحدّ من عدد التعارضات (يمكن لإضافة واحدة فقط تعديلresponseHeadersلكل طلب).
FormDataItem
يحتوي على البيانات التي تم تمريرها ضمن بيانات النموذج. بالنسبة إلى النموذج المشفر بعنوان URL، يتم تخزينه كسلسلة إذا كانت البيانات سلسلة UTF-8، وكـ ArrayBuffer في الحالات الأخرى. بالنسبة إلى form-data، يكون ArrayBuffer. إذا كانت form-data تمثّل تحميل ملف، تكون سلسلة تتضمّن اسم الملف، إذا تم توفير اسم الملف.
تعداد
ArrayBuffer
سلسلة
HttpHeaders
مصفوفة من عناوين HTTP يتم تمثيل كل عنوان كقاموس يحتوي على المفتاحين name وvalue أو binaryValue.
النوع
object[]
الخصائص
-
binaryValue
number[] اختيارية
قيمة عنوان HTTP إذا كان لا يمكن تمثيله باستخدام UTF-8، ويتم تخزينه كقيم بايت فردية (0..255).
-
الاسم
سلسلة
اسم عنوان HTTP
-
القيمة
سلسلة اختيارية
قيمة عنوان HTTP إذا كان يمكن تمثيله بترميز UTF-8
IgnoredActionType
تعداد
"redirect"
"request_headers"
"response_headers"
"auth_credentials"
OnAuthRequiredOptions
تعداد
"responseHeaders"
تحدّد ما إذا كان يجب تضمين عناوين الاستجابة في الحدث.
"blocking"
تحدّد ما إذا كان الطلب محظورًا إلى أن تعرض دالة ردّ الاتصال.
"asyncBlocking"
تحدّد هذه السمة أنّه يتم التعامل مع دالّة ردّ الاتصال بشكل غير متزامن.
extraHeaders
يحدّد هذا الحقل أنّ العناوين يمكن أن تنتهك سياسة مشاركة المراجع مع نطاقات خارجية (CORS).
OnBeforeRedirectOptions
تعداد
"responseHeaders"
تحدّد ما إذا كان يجب تضمين عناوين الاستجابة في الحدث.
extraHeaders
يحدّد هذا الحقل أنّ العناوين يمكن أن تنتهك سياسة مشاركة المراجع مع نطاقات خارجية (CORS).
OnBeforeRequestOptions
تعداد
"blocking"
تحدّد ما إذا كان الطلب محظورًا إلى أن تعرض دالة ردّ الاتصال.
"requestBody"
تحدّد هذه السمة أنّه يجب تضمين نص الطلب في الحدث.
extraHeaders
يحدّد هذا الحقل أنّ العناوين يمكن أن تنتهك سياسة مشاركة المراجع مع نطاقات خارجية (CORS).
OnBeforeSendHeadersOptions
تعداد
"requestHeaders"
تحدّد هذه السمة أنّه يجب تضمين عنوان الطلب في الحدث.
"blocking"
تحدّد ما إذا كان الطلب محظورًا إلى أن تعرض دالة ردّ الاتصال.
extraHeaders
يحدّد هذا الحقل أنّ العناوين يمكن أن تنتهك سياسة مشاركة المراجع مع نطاقات خارجية (CORS).
OnCompletedOptions
تعداد
"responseHeaders"
تحدّد ما إذا كان يجب تضمين عناوين الاستجابة في الحدث.
extraHeaders
يحدّد هذا الحقل أنّ العناوين يمكن أن تنتهك سياسة مشاركة المراجع مع نطاقات خارجية (CORS).
OnErrorOccurredOptions
القيمة
"extraHeaders"
OnHeadersReceivedOptions
تعداد
"blocking"
تحدّد ما إذا كان الطلب محظورًا إلى أن تعرض دالة ردّ الاتصال.
"responseHeaders"
تحدّد ما إذا كان يجب تضمين عناوين الاستجابة في الحدث.
extraHeaders
يحدّد هذا الحقل أنّ العناوين يمكن أن تنتهك سياسة مشاركة المراجع مع نطاقات خارجية (CORS).
"securityInfo"
تحدّد هذه السمة أنّه يجب تضمين SecurityInfo في الحدث.
"securityInfoRawDer"
تحدّد هذه السمة أنّه يجب تضمين SecurityInfo مع وحدات البايت الأولية للشهادات في الحدث.
OnResponseStartedOptions
تعداد
"responseHeaders"
تحدّد ما إذا كان يجب تضمين عناوين الاستجابة في الحدث.
extraHeaders
يحدّد هذا الحقل أنّ العناوين يمكن أن تنتهك سياسة مشاركة المراجع مع نطاقات خارجية (CORS).
OnSendHeadersOptions
تعداد
"requestHeaders"
تحدّد هذه السمة أنّه يجب تضمين عنوان الطلب في الحدث.
extraHeaders
يحدّد هذا الحقل أنّ العناوين يمكن أن تنتهك سياسة مشاركة المراجع مع نطاقات خارجية (CORS).
RequestFilter
تمثّل هذه السمة عنصرًا يصف الفلاتر التي سيتم تطبيقها على أحداث webRequest.
الخصائص
-
tabId
number اختياري
-
الأنواع
ResourceType[] اختيارية
قائمة بأنواع الطلبات سيتم استبعاد الطلبات التي لا تتطابق مع أي من الأنواع.
-
عناوين url
string[]
قائمة بعناوين URL أو أنماط عناوين URL سيتم استبعاد الطلبات التي لا يمكن أن تتطابق مع أي من عناوين URL.
-
windowId
number اختياري
ResourceType
تعداد
"main_frame"
تحدّد هذه القيمة أنّ المورد هو الإطار الرئيسي.
"sub_frame"
تحدّد هذه السمة أنّ المرجع هو إطار فرعي.
"stylesheet"
تحدّد هذه السمة المورد على أنّه ورقة أنماط.
"script"
تحدّد هذه السمة المورد على أنّه نص برمجي.
"image"
تحدّد هذه السمة أنّ المورد هو صورة.
"font"
تحدّد هذه السمة أنّ المورد هو خط.
"object"
تحدّد هذه السمة المورد كعنصر.
"xmlhttprequest"
تحدّد هذه السمة المورد على أنّه XMLHttpRequest.
"ping"
تحدّد المورد على أنّه إشارة.
"csp_report"
تحدّد هذه السمة المورد كتقرير "سياسة أمان المحتوى" (CSP).
"media"
تحدّد هذه السمة المرجع كمادة عرض وسائط.
"websocket"
تحدّد هذه السمة المورد على أنّه WebSocket.
"webbundle"
تحدّد هذه القيمة أنّ المورد هو WebBundle.
other
تحدّد هذه القيمة المورد كنوع غير مضمّن في الأنواع المدرَجة.
SecurityInfo
الخصائص
-
الشهادات
object[]
قائمة بالشهادات
-
بصمة الإصبع
عنصر
تمثّل هذه السمة الملفات المرجعية للشهادة.
-
sha256
سلسلة
الملف المرجعي لمعيار SHA256 الخاص بالشهادة
-
-
rawDER
ArrayBuffer اختياري
وحدات البايت الأولية لشهادة الخادم بترميز DER
-
-
الولاية
سلسلة
حالة الاتصال إحدى القيم التالية: آمن أو غير آمن أو معطّل
UploadData
يحتوي على البيانات التي تم تحميلها في طلب عنوان URL.
الخصائص
-
بايت
أي اختياري
ArrayBuffer يحتوي على نسخة من البيانات
-
ملف واحد
سلسلة اختيارية
سلسلة تتضمّن مسار الملف واسمه
الخصائص
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
الحدّ الأقصى لعدد المرات التي يمكن فيها استدعاء handlerBehaviorChanged لكل فاصل زمني مستمر مدته 10 دقائق handlerBehaviorChanged هي استدعاء دالة مكلف لا يجب استدعاؤه بشكل متكرر.
القيمة
20
الطُرق
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(
callback?: function,
): Promise<void>
يجب استدعاء هذه الدالة عند تغيير سلوك معالِجات webRequest لمنع المعالجة غير الصحيحة بسبب التخزين المؤقت. استدعاء هذه الدالة مكلف. لا تستدعِ هذه الدالة كثيرًا.
المعلمات
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 116 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
الفعاليات
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
يتم تنشيط هذا الحدث عندما يتم تجاهل التعديل المقترح الذي أجرته إحدى الإضافات على طلب شبكة. يحدث ذلك في حال حدوث تعارضات مع إضافات أخرى.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(details: object) => void
-
التفاصيل
عنصر
-
إجراء
الإجراء المقترَح الذي تم تجاهله
-
requestId
سلسلة
معرّف الطلب. تكون أرقام تعريف الطلبات فريدة ضمن جلسة المتصفّح. نتيجةً لذلك، يمكن استخدامها لربط أحداث مختلفة من الطلب نفسه.
-
-
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
يتم تنشيط هذا الحدث عند تلقّي خطأ في المصادقة. لدى المستمع ثلاثة خيارات: يمكنه تقديم بيانات اعتماد المصادقة، أو إلغاء الطلب وعرض صفحة الخطأ، أو عدم اتّخاذ أي إجراء بشأن التحدّي. في حال تقديم بيانات اعتماد غير صالحة للمستخدم، قد يتم استدعاء هذه الدالة عدة مرات للطلب نفسه. يُرجى العِلم أنّه يجب تحديد وضع واحد فقط من الوضعَين 'blocking' أو 'asyncBlocking' في المَعلمة extraInfoSpec.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(details: object, asyncCallback?: function) => BlockingResponse | undefined
-
التفاصيل
عنصر
-
المنافس
عنصر
الخادم الذي يطلب المصادقة
-
مضيف
سلسلة
-
المنفذ
الرقم
-
-
documentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثالمعرّف الفريد العالمي (UUID) للمستند الذي يقدّم الطلب
-
documentLifecycleChrome 106 والإصدارات الأحدث
دورة الحياة التي يكون فيها المستند
-
frameId
الرقم
تشير القيمة 0 إلى أنّ الطلب يحدث في الإطار الرئيسي، وتشير القيمة الموجبة إلى رقم تعريف إطار فرعي يحدث فيه الطلب. في حال تحميل مستند لإطار (فرعي)، أي إذا كانت قيمة
typeهيmain_frameأوsub_frame، يشيرframeIdإلى رقم تعريف هذا الإطار، وليس رقم تعريف الإطار الخارجي. تكون معرّفات الإطارات فريدة داخل علامة تبويب. -
frameTypeChrome 106 والإصدارات الأحدث
نوع الإطار الذي تم فيه الطلب.
-
المستخدم
سلسلة اختيارية
Chrome 63 والإصدارات الأحدثالمصدر الذي بدأ منه الطلب ولا يتغيّر ذلك من خلال عمليات إعادة التوجيه. إذا كان هذا المصدر غير شفاف، سيتم استخدام السلسلة "null".
-
isProxy
قيمة منطقية
القيمة هي "صحيح" بالنسبة إلى Proxy-Authenticate، و"خطأ" بالنسبة إلى WWW-Authenticate.
-
method
سلسلة
طريقة HTTP عادية
-
parentDocumentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثتمثّل هذه السمة المعرّف الفريد العالمي (UUID) للمستند الرئيسي الذي يملك هذا الإطار. لا يتم ضبط هذه السمة إذا لم يكن هناك موقع رئيسي.
-
parentFrameId
الرقم
معرّف الإطار الذي يغلّف الإطار الذي أرسل الطلب. يتم ضبط القيمة على -1 في حال عدم توفّر إطار رئيسي.
-
realm
سلسلة اختيارية
نطاق المصادقة الذي يوفّره الخادم، إذا كان متوفّرًا
-
requestId
سلسلة
معرّف الطلب. تكون أرقام تعريف الطلبات فريدة ضمن جلسة المتصفّح. نتيجةً لذلك، يمكن استخدامها لربط أحداث مختلفة من الطلب نفسه.
-
responseHeaders
HttpHeaders اختيارية
تمثّل هذه السمة عناوين استجابة HTTP التي تم تلقّيها مع هذه الاستجابة.
-
المخطط
سلسلة
نظام المصادقة، مثل Basic أو Digest
-
statusCode
الرقم
Chrome 43 والإصدارات الأحدثرمز حالة HTTP العادي الذي يعرضه الخادم.
-
statusLine
سلسلة
سطر حالة HTTP الخاص بالردّ أو السلسلة "HTTP/0.9 200 OK" للردود التي تستخدم HTTP/0.9 (أي الردود التي لا تتضمّن سطر حالة) أو سلسلة فارغة إذا لم تكن هناك عناوين.
-
tabId
الرقم
رقم تعريف علامة التبويب التي يتم فيها تنفيذ الطلب اضبط القيمة على -1 إذا لم يكن الطلب مرتبطًا بعلامة تبويب.
-
timeStamp
الرقم
الوقت الذي يتم فيه تشغيل هذه الإشارة، بالملّي ثانية منذ بداية الحقبة
-
النوع
توضّح هذه السمة طريقة استخدام المورد المطلوب.
-
url
سلسلة
-
-
asyncCallback
الدالة اختيارية
Chrome 58 والإصدارات الأحدثتظهر المَعلمة
asyncCallbackعلى النحو التالي:(response: BlockingResponse) => void
-
returns
BlockingResponse | undefined
إذا تم تحديد "blocking" في المَعلمة "extraInfoSpec"، يجب أن يعرض متتبِّع الأحداث عنصرًا من هذا النوع.
-
-
تصفية
-
extraInfoSpec
OnAuthRequiredOptions[] اختيارية
onBeforeRedirect
chrome.webRequest.onBeforeRedirect.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRedirectOptions[],
)
يتم تنشيط هذا الحدث عندما توشك عملية إعادة توجيه من الخادم على الحدوث.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(details: object) => void
-
التفاصيل
عنصر
-
documentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثالمعرّف الفريد العالمي (UUID) للمستند الذي يقدّم الطلب
-
documentLifecycleChrome 106 والإصدارات الأحدث
دورة الحياة التي يكون فيها المستند
-
frameId
الرقم
تشير القيمة 0 إلى أنّ الطلب يحدث في الإطار الرئيسي، وتشير القيمة الموجبة إلى رقم تعريف إطار فرعي يحدث فيه الطلب. في حال تحميل مستند لإطار (فرعي)، أي إذا كانت قيمة
typeهيmain_frameأوsub_frame، يشيرframeIdإلى رقم تعريف هذا الإطار، وليس رقم تعريف الإطار الخارجي. تكون معرّفات الإطارات فريدة داخل علامة تبويب. -
frameTypeChrome 106 والإصدارات الأحدث
نوع الإطار الذي تم فيه الطلب.
-
fromCache
قيمة منطقية
توضّح ما إذا تم جلب هذه الاستجابة من ذاكرة التخزين المؤقت للقرص.
-
المستخدم
سلسلة اختيارية
Chrome 63 والإصدارات الأحدثالمصدر الذي بدأ منه الطلب ولا يتغيّر ذلك من خلال عمليات إعادة التوجيه. إذا كان هذا المصدر غير شفاف، سيتم استخدام السلسلة "null".
-
ip
سلسلة اختيارية
عنوان IP للخادم الذي تم إرسال الطلب إليه فعليًا يُرجى العِلم أنّه قد يكون عنوان IPv6 حرفيًا.
-
method
سلسلة
طريقة HTTP عادية
-
parentDocumentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثتمثّل هذه السمة المعرّف الفريد العالمي (UUID) للمستند الرئيسي الذي يملك هذا الإطار. لا يتم ضبط هذه السمة إذا لم يكن هناك موقع رئيسي.
-
parentFrameId
الرقم
معرّف الإطار الذي يغلّف الإطار الذي أرسل الطلب. يتم ضبط القيمة على -1 في حال عدم توفّر إطار رئيسي.
-
redirectUrl
سلسلة
عنوان URL الجديد
-
requestId
سلسلة
معرّف الطلب. تكون أرقام تعريف الطلبات فريدة ضمن جلسة المتصفّح. نتيجةً لذلك، يمكن استخدامها لربط أحداث مختلفة من الطلب نفسه.
-
responseHeaders
HttpHeaders اختيارية
عناوين استجابة HTTP التي تم تلقّيها مع عملية إعادة التوجيه هذه
-
statusCode
الرقم
رمز حالة HTTP العادي الذي يعرضه الخادم.
-
statusLine
سلسلة
سطر حالة HTTP الخاص بالردّ أو السلسلة "HTTP/0.9 200 OK" للردود التي تستخدم HTTP/0.9 (أي الردود التي لا تتضمّن سطر حالة) أو سلسلة فارغة إذا لم تكن هناك عناوين.
-
tabId
الرقم
رقم تعريف علامة التبويب التي يتم فيها تنفيذ الطلب اضبط القيمة على -1 إذا لم يكن الطلب مرتبطًا بعلامة تبويب.
-
timeStamp
الرقم
الوقت الذي يتم فيه تشغيل هذه الإشارة، بالملّي ثانية منذ بداية الحقبة
-
النوع
توضّح هذه السمة طريقة استخدام المورد المطلوب.
-
url
سلسلة
-
-
-
تصفية
-
extraInfoSpec
OnBeforeRedirectOptions[] اختيارية
onBeforeRequest
chrome.webRequest.onBeforeRequest.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRequestOptions[],
)
يتم تنشيط هذا الحدث عندما يكون على وشك حدوث طلب.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(details: object) => BlockingResponse | undefined
-
التفاصيل
عنصر
-
documentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثالمعرّف الفريد العالمي (UUID) للمستند الذي يقدّم الطلب.
-
documentLifecycle
extensionTypes.DocumentLifecycle اختياري
Chrome 106 والإصدارات الأحدثدورة الحياة التي يكون فيها المستند
-
frameId
الرقم
تشير القيمة 0 إلى أنّ الطلب يحدث في الإطار الرئيسي، وتشير القيمة الموجبة إلى رقم تعريف إطار فرعي يحدث فيه الطلب. في حال تحميل مستند لإطار (فرعي)، أي إذا كانت قيمة
typeهيmain_frameأوsub_frame، يشيرframeIdإلى رقم تعريف هذا الإطار، وليس رقم تعريف الإطار الخارجي. تكون معرّفات الإطارات فريدة داخل علامة تبويب. -
frameType
extensionTypes.FrameType اختيارية
Chrome 106 والإصدارات الأحدثنوع الإطار الذي تم فيه الطلب.
-
المستخدم
سلسلة اختيارية
Chrome 63 والإصدارات الأحدثالمصدر الذي بدأ منه الطلب ولا يتغيّر ذلك من خلال عمليات إعادة التوجيه. إذا كان هذا المصدر غير شفاف، سيتم استخدام السلسلة "null".
-
method
سلسلة
طريقة HTTP عادية
-
parentDocumentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثتمثّل هذه السمة المعرّف الفريد العالمي (UUID) للمستند الرئيسي الذي يملك هذا الإطار. لا يتم ضبط هذه السمة إذا لم يكن هناك موقع رئيسي.
-
parentFrameId
الرقم
معرّف الإطار الذي يغلّف الإطار الذي أرسل الطلب. يتم ضبط القيمة على -1 في حال عدم توفّر إطار رئيسي.
-
requestBody
كائن اختياري
يحتوي على بيانات نص طلب HTTP. يتم توفيرها فقط إذا كان extraInfoSpec يحتوي على "requestBody".
-
خطأ
سلسلة اختيارية
أخطاء عند الحصول على بيانات نص الطلب
-
formData
كائن اختياري
إذا كانت طريقة الطلب هي POST وكان النص عبارة عن سلسلة من أزواج المفتاح/القيمة مرمّزة بترميز UTF8، أو مرمّزة كبيانات متعددة الأجزاء/نموذج، أو application/x-www-form-urlencoded، يكون هذا القاموس متوفّرًا ويحتوي كل مفتاح على قائمة بجميع قيم هذا المفتاح. إذا كانت البيانات من نوع وسائط آخر أو إذا كانت غير صالحة، لن يكون القاموس متوفّرًا. مثال على قيمة هذا القاموس هو {'key': ['value1', 'value2']}.
-
raw
UploadData[] اختيارية
إذا كانت طريقة الطلب هي PUT أو POST، ولم يتم تحليل النص الأساسي في formData، سيحتوي هذا الصفيف على عناصر نص الطلب غير المحلَّلة.
-
-
requestId
سلسلة
معرّف الطلب. تكون أرقام تعريف الطلبات فريدة ضمن جلسة المتصفّح. نتيجةً لذلك، يمكن استخدامها لربط أحداث مختلفة من الطلب نفسه.
-
tabId
الرقم
رقم تعريف علامة التبويب التي يتم فيها تنفيذ الطلب اضبط القيمة على -1 إذا لم يكن الطلب مرتبطًا بعلامة تبويب.
-
timeStamp
الرقم
الوقت الذي يتم فيه تشغيل هذه الإشارة، بالملّي ثانية منذ بداية الحقبة
-
النوع
توضّح هذه السمة طريقة استخدام المورد المطلوب.
-
url
سلسلة
-
-
returns
BlockingResponse | undefined
إذا تم تحديد "blocking" في المَعلمة "extraInfoSpec"، يجب أن يعرض متتبِّع الأحداث عنصرًا من هذا النوع.
-
-
تصفية
-
extraInfoSpec
OnBeforeRequestOptions[] اختيارية
onBeforeSendHeaders
chrome.webRequest.onBeforeSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeSendHeadersOptions[],
)
يتم تنشيط هذا الحدث قبل إرسال طلب HTTP، وذلك بعد توفّر عناوين الطلب. قد يحدث ذلك بعد إنشاء اتصال TCP بالخادم، ولكن قبل إرسال أي بيانات HTTP.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(details: object) => BlockingResponse | undefined
-
التفاصيل
عنصر
-
documentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثالمعرّف الفريد العالمي (UUID) للمستند الذي يقدّم الطلب
-
documentLifecycleChrome 106 والإصدارات الأحدث
دورة الحياة التي يكون فيها المستند
-
frameId
الرقم
تشير القيمة 0 إلى أنّ الطلب يحدث في الإطار الرئيسي، وتشير القيمة الموجبة إلى رقم تعريف إطار فرعي يحدث فيه الطلب. في حال تحميل مستند لإطار (فرعي)، أي إذا كانت قيمة
typeهيmain_frameأوsub_frame، يشيرframeIdإلى رقم تعريف هذا الإطار، وليس رقم تعريف الإطار الخارجي. تكون معرّفات الإطارات فريدة داخل علامة تبويب. -
frameTypeChrome 106 والإصدارات الأحدث
نوع الإطار الذي تم فيه الطلب.
-
المستخدم
سلسلة اختيارية
Chrome 63 والإصدارات الأحدثالمصدر الذي بدأ منه الطلب ولا يتغيّر ذلك من خلال عمليات إعادة التوجيه. إذا كان هذا المصدر غير شفاف، سيتم استخدام السلسلة "null".
-
method
سلسلة
طريقة HTTP عادية
-
parentDocumentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثتمثّل هذه السمة المعرّف الفريد العالمي (UUID) للمستند الرئيسي الذي يملك هذا الإطار. لا يتم ضبط هذه السمة إذا لم يكن هناك موقع رئيسي.
-
parentFrameId
الرقم
معرّف الإطار الذي يغلّف الإطار الذي أرسل الطلب. يتم ضبط القيمة على -1 في حال عدم توفّر إطار رئيسي.
-
requestHeaders
HttpHeaders اختيارية
عناوين طلب HTTP التي سيتم إرسالها مع هذا الطلب
-
requestId
سلسلة
معرّف الطلب. تكون أرقام تعريف الطلبات فريدة ضمن جلسة المتصفّح. نتيجةً لذلك، يمكن استخدامها لربط أحداث مختلفة من الطلب نفسه.
-
tabId
الرقم
رقم تعريف علامة التبويب التي يتم فيها تنفيذ الطلب اضبط القيمة على -1 إذا لم يكن الطلب مرتبطًا بعلامة تبويب.
-
timeStamp
الرقم
الوقت الذي يتم فيه تشغيل هذه الإشارة، بالملّي ثانية منذ بداية الحقبة
-
النوع
توضّح هذه السمة طريقة استخدام المورد المطلوب.
-
url
سلسلة
-
-
returns
BlockingResponse | undefined
إذا تم تحديد "blocking" في المَعلمة "extraInfoSpec"، يجب أن يعرض متتبِّع الأحداث عنصرًا من هذا النوع.
-
-
تصفية
-
extraInfoSpec
OnBeforeSendHeadersOptions[] اختيارية
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
يتم تنشيط هذا الحدث عند اكتمال الطلب.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(details: object) => void
-
التفاصيل
عنصر
-
documentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثالمعرّف الفريد العالمي (UUID) للمستند الذي يقدّم الطلب
-
documentLifecycleChrome 106 والإصدارات الأحدث
دورة الحياة التي يكون فيها المستند
-
frameId
الرقم
تشير القيمة 0 إلى أنّ الطلب يحدث في الإطار الرئيسي، وتشير القيمة الموجبة إلى رقم تعريف إطار فرعي يحدث فيه الطلب. في حال تحميل مستند لإطار (فرعي)، أي إذا كانت قيمة
typeهيmain_frameأوsub_frame، يشيرframeIdإلى رقم تعريف هذا الإطار، وليس رقم تعريف الإطار الخارجي. تكون معرّفات الإطارات فريدة داخل علامة تبويب. -
frameTypeChrome 106 والإصدارات الأحدث
نوع الإطار الذي تم فيه الطلب.
-
fromCache
قيمة منطقية
توضّح ما إذا تم جلب هذه الاستجابة من ذاكرة التخزين المؤقت للقرص.
-
المستخدم
سلسلة اختيارية
Chrome 63 والإصدارات الأحدثالمصدر الذي بدأ منه الطلب ولا يتغيّر ذلك من خلال عمليات إعادة التوجيه. إذا كان هذا المصدر غير شفاف، سيتم استخدام السلسلة "null".
-
ip
سلسلة اختيارية
عنوان IP للخادم الذي تم إرسال الطلب إليه فعليًا يُرجى العِلم أنّه قد يكون عنوان IPv6 حرفيًا.
-
method
سلسلة
طريقة HTTP عادية
-
parentDocumentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثتمثّل هذه السمة المعرّف الفريد العالمي (UUID) للمستند الرئيسي الذي يملك هذا الإطار. لا يتم ضبط هذه السمة إذا لم يكن هناك موقع رئيسي.
-
parentFrameId
الرقم
معرّف الإطار الذي يغلّف الإطار الذي أرسل الطلب. يتم ضبط القيمة على -1 في حال عدم توفّر إطار رئيسي.
-
requestId
سلسلة
معرّف الطلب. تكون أرقام تعريف الطلبات فريدة ضمن جلسة المتصفّح. نتيجةً لذلك، يمكن استخدامها لربط أحداث مختلفة من الطلب نفسه.
-
responseHeaders
HttpHeaders اختيارية
تمثّل هذه السمة عناوين استجابة HTTP التي تم تلقّيها مع هذه الاستجابة.
-
statusCode
الرقم
رمز حالة HTTP العادي الذي يعرضه الخادم.
-
statusLine
سلسلة
سطر حالة HTTP الخاص بالردّ أو السلسلة "HTTP/0.9 200 OK" للردود التي تستخدم HTTP/0.9 (أي الردود التي لا تتضمّن سطر حالة) أو سلسلة فارغة إذا لم تكن هناك عناوين.
-
tabId
الرقم
رقم تعريف علامة التبويب التي يتم فيها تنفيذ الطلب اضبط القيمة على -1 إذا لم يكن الطلب مرتبطًا بعلامة تبويب.
-
timeStamp
الرقم
الوقت الذي يتم فيه تشغيل هذه الإشارة، بالملّي ثانية منذ بداية الحقبة
-
النوع
توضّح هذه السمة طريقة استخدام المورد المطلوب.
-
url
سلسلة
-
-
-
تصفية
-
extraInfoSpec
OnCompletedOptions[] اختياري
onErrorOccurred
chrome.webRequest.onErrorOccurred.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnErrorOccurredOptions[],
)
يتم تنشيط هذا الحدث عند حدوث خطأ.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(details: object) => void
-
التفاصيل
عنصر
-
documentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثالمعرّف الفريد العالمي (UUID) للمستند الذي يقدّم الطلب لا تظهر هذه القيمة إذا كان الطلب عبارة عن عملية تنقّل في إطار.
-
documentLifecycleChrome 106 والإصدارات الأحدث
دورة الحياة التي يكون فيها المستند
-
خطأ
سلسلة
تمثّل هذه السمة وصف الخطأ. لا نضمن أن يظل هذا السلسلة متوافقًا مع الإصدارات القديمة بين الإصدارات. يجب عدم تحليل محتوى هذا الملف واتّخاذ إجراءات استنادًا إليه.
-
frameId
الرقم
تشير القيمة 0 إلى أنّ الطلب يحدث في الإطار الرئيسي، وتشير القيمة الموجبة إلى رقم تعريف إطار فرعي يحدث فيه الطلب. في حال تحميل مستند لإطار (فرعي)، أي إذا كانت قيمة
typeهيmain_frameأوsub_frame، يشيرframeIdإلى رقم تعريف هذا الإطار، وليس رقم تعريف الإطار الخارجي. تكون معرّفات الإطارات فريدة داخل علامة تبويب. -
frameTypeChrome 106 والإصدارات الأحدث
نوع الإطار الذي تم فيه الطلب.
-
fromCache
قيمة منطقية
توضّح ما إذا تم جلب هذه الاستجابة من ذاكرة التخزين المؤقت للقرص.
-
المستخدم
سلسلة اختيارية
Chrome 63 والإصدارات الأحدثالمصدر الذي بدأ منه الطلب ولا يتغيّر ذلك من خلال عمليات إعادة التوجيه. إذا كان هذا المصدر غير شفاف، سيتم استخدام السلسلة "null".
-
ip
سلسلة اختيارية
عنوان IP للخادم الذي تم إرسال الطلب إليه فعليًا يُرجى العِلم أنّه قد يكون عنوان IPv6 حرفيًا.
-
method
سلسلة
طريقة HTTP عادية
-
parentDocumentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثتمثّل هذه السمة المعرّف الفريد العالمي (UUID) للمستند الرئيسي الذي يملك هذا الإطار. لا يتم ضبط هذه السمة إذا لم يكن هناك موقع رئيسي.
-
parentFrameId
الرقم
معرّف الإطار الذي يغلّف الإطار الذي أرسل الطلب. يتم ضبط القيمة على -1 في حال عدم توفّر إطار رئيسي.
-
requestId
سلسلة
معرّف الطلب. تكون أرقام تعريف الطلبات فريدة ضمن جلسة المتصفّح. نتيجةً لذلك، يمكن استخدامها لربط أحداث مختلفة من الطلب نفسه.
-
tabId
الرقم
رقم تعريف علامة التبويب التي يتم فيها تنفيذ الطلب اضبط القيمة على -1 إذا لم يكن الطلب مرتبطًا بعلامة تبويب.
-
timeStamp
الرقم
الوقت الذي يتم فيه تشغيل هذه الإشارة، بالملّي ثانية منذ بداية الحقبة
-
النوع
توضّح هذه السمة طريقة استخدام المورد المطلوب.
-
url
سلسلة
-
-
-
تصفية
-
extraInfoSpec
OnErrorOccurredOptions[] اختياري
onHeadersReceived
chrome.webRequest.onHeadersReceived.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnHeadersReceivedOptions[],
)
يتم تنشيط هذا الحدث عند تلقّي عناوين استجابة HTTP لطلب ما.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(details: object) => BlockingResponse | undefined
-
التفاصيل
عنصر
-
documentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثالمعرّف الفريد العالمي (UUID) للمستند الذي يقدّم الطلب
-
documentLifecycleChrome 106 والإصدارات الأحدث
دورة الحياة التي يكون فيها المستند
-
frameId
الرقم
تشير القيمة 0 إلى أنّ الطلب يحدث في الإطار الرئيسي، وتشير القيمة الموجبة إلى رقم تعريف إطار فرعي يحدث فيه الطلب. في حال تحميل مستند لإطار (فرعي)، أي إذا كانت قيمة
typeهيmain_frameأوsub_frame، يشيرframeIdإلى رقم تعريف هذا الإطار، وليس رقم تعريف الإطار الخارجي. تكون معرّفات الإطارات فريدة داخل علامة تبويب. -
frameTypeChrome 106 والإصدارات الأحدث
نوع الإطار الذي تم فيه الطلب.
-
المستخدم
سلسلة اختيارية
Chrome 63 والإصدارات الأحدثالمصدر الذي بدأ منه الطلب ولا يتغيّر ذلك من خلال عمليات إعادة التوجيه. إذا كان هذا المصدر غير شفاف، سيتم استخدام السلسلة "null".
-
method
سلسلة
طريقة HTTP عادية
-
parentDocumentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثتمثّل هذه السمة المعرّف الفريد العالمي (UUID) للمستند الرئيسي الذي يملك هذا الإطار. لا يتم ضبط هذه السمة إذا لم يكن هناك موقع رئيسي.
-
parentFrameId
الرقم
معرّف الإطار الذي يغلّف الإطار الذي أرسل الطلب. يتم ضبط القيمة على -1 في حال عدم توفّر إطار رئيسي.
-
requestId
سلسلة
معرّف الطلب. تكون أرقام تعريف الطلبات فريدة ضمن جلسة المتصفّح. نتيجةً لذلك، يمكن استخدامها لربط أحداث مختلفة من الطلب نفسه.
-
responseHeaders
HttpHeaders اختيارية
تمثّل هذه السمة عناوين استجابة HTTP التي تم تلقّيها مع هذه الاستجابة.
-
securityInfo
SecurityInfo اختيارية
Chrome 144+معلومات عن اتصال TLS/QUIC المستخدَم في الاتصال الأساسي يتم توفيرها فقط إذا تم تحديد
securityInfoفي المَعلمةextraInfoSpec. -
statusCode
الرقم
Chrome 43 والإصدارات الأحدثرمز حالة HTTP العادي الذي يعرضه الخادم.
-
statusLine
سلسلة
سطر حالة HTTP للاستجابة أو السلسلة "HTTP/0.9 200 OK" للاستجابات التي تستخدم HTTP/0.9 (أي الاستجابات التي لا تتضمّن سطر حالة)
-
tabId
الرقم
رقم تعريف علامة التبويب التي يتم فيها تنفيذ الطلب اضبط القيمة على -1 إذا لم يكن الطلب مرتبطًا بعلامة تبويب.
-
timeStamp
الرقم
الوقت الذي يتم فيه تشغيل هذه الإشارة، بالملّي ثانية منذ بداية الحقبة
-
النوع
توضّح هذه السمة طريقة استخدام المورد المطلوب.
-
url
سلسلة
-
-
returns
BlockingResponse | undefined
إذا تم تحديد "blocking" في المَعلمة "extraInfoSpec"، يجب أن يعرض متتبِّع الأحداث عنصرًا من هذا النوع.
-
-
تصفية
-
extraInfoSpec
OnHeadersReceivedOptions[] اختيارية
onResponseStarted
chrome.webRequest.onResponseStarted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnResponseStartedOptions[],
)
يتم تنشيط هذا الحدث عند تلقّي البايت الأول من نص الردّ. بالنسبة إلى طلبات HTTP، يعني ذلك أنّ سطر الحالة وعناوين الاستجابة متوفّران.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(details: object) => void
-
التفاصيل
عنصر
-
documentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثالمعرّف الفريد العالمي (UUID) للمستند الذي يقدّم الطلب
-
documentLifecycleChrome 106 والإصدارات الأحدث
دورة الحياة التي يكون فيها المستند
-
frameId
الرقم
تشير القيمة 0 إلى أنّ الطلب يحدث في الإطار الرئيسي، وتشير القيمة الموجبة إلى رقم تعريف إطار فرعي يحدث فيه الطلب. في حال تحميل مستند لإطار (فرعي)، أي إذا كانت قيمة
typeهيmain_frameأوsub_frame، يشيرframeIdإلى رقم تعريف هذا الإطار، وليس رقم تعريف الإطار الخارجي. تكون معرّفات الإطارات فريدة داخل علامة تبويب. -
frameTypeChrome 106 والإصدارات الأحدث
نوع الإطار الذي تم فيه الطلب.
-
fromCache
قيمة منطقية
توضّح ما إذا تم جلب هذه الاستجابة من ذاكرة التخزين المؤقت للقرص.
-
المستخدم
سلسلة اختيارية
Chrome 63 والإصدارات الأحدثالمصدر الذي بدأ منه الطلب ولا يتغيّر ذلك من خلال عمليات إعادة التوجيه. إذا كان هذا المصدر غير شفاف، سيتم استخدام السلسلة "null".
-
ip
سلسلة اختيارية
عنوان IP للخادم الذي تم إرسال الطلب إليه فعليًا يُرجى العِلم أنّه قد يكون عنوان IPv6 حرفيًا.
-
method
سلسلة
طريقة HTTP عادية
-
parentDocumentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثتمثّل هذه السمة المعرّف الفريد العالمي (UUID) للمستند الرئيسي الذي يملك هذا الإطار. لا يتم ضبط هذه السمة إذا لم يكن هناك موقع رئيسي.
-
parentFrameId
الرقم
معرّف الإطار الذي يغلّف الإطار الذي أرسل الطلب. يتم ضبط القيمة على -1 في حال عدم توفّر إطار رئيسي.
-
requestId
سلسلة
معرّف الطلب. تكون أرقام تعريف الطلبات فريدة ضمن جلسة المتصفّح. نتيجةً لذلك، يمكن استخدامها لربط أحداث مختلفة من الطلب نفسه.
-
responseHeaders
HttpHeaders اختيارية
تمثّل هذه السمة عناوين استجابة HTTP التي تم تلقّيها مع هذه الاستجابة.
-
statusCode
الرقم
رمز حالة HTTP العادي الذي يعرضه الخادم.
-
statusLine
سلسلة
سطر حالة HTTP الخاص بالردّ أو السلسلة "HTTP/0.9 200 OK" للردود التي تستخدم HTTP/0.9 (أي الردود التي لا تتضمّن سطر حالة) أو سلسلة فارغة إذا لم تكن هناك عناوين.
-
tabId
الرقم
رقم تعريف علامة التبويب التي يتم فيها تنفيذ الطلب اضبط القيمة على -1 إذا لم يكن الطلب مرتبطًا بعلامة تبويب.
-
timeStamp
الرقم
الوقت الذي يتم فيه تشغيل هذه الإشارة، بالملّي ثانية منذ بداية الحقبة
-
النوع
توضّح هذه السمة طريقة استخدام المورد المطلوب.
-
url
سلسلة
-
-
-
تصفية
-
extraInfoSpec
OnResponseStartedOptions[] اختياري
onSendHeaders
chrome.webRequest.onSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnSendHeadersOptions[],
)
يتم تنشيط هذا الحدث قبل إرسال طلب إلى الخادم مباشرةً (تكون التعديلات على عمليات معاودة الاتصال السابقة onBeforeSendHeaders مرئية عند تنشيط onSendHeaders).
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(details: object) => void
-
التفاصيل
عنصر
-
documentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثالمعرّف الفريد العالمي (UUID) للمستند الذي يقدّم الطلب
-
documentLifecycleChrome 106 والإصدارات الأحدث
دورة الحياة التي يكون فيها المستند
-
frameId
الرقم
تشير القيمة 0 إلى أنّ الطلب يحدث في الإطار الرئيسي، وتشير القيمة الموجبة إلى رقم تعريف إطار فرعي يحدث فيه الطلب. في حال تحميل مستند لإطار (فرعي)، أي إذا كانت قيمة
typeهيmain_frameأوsub_frame، يشيرframeIdإلى رقم تعريف هذا الإطار، وليس رقم تعريف الإطار الخارجي. تكون معرّفات الإطارات فريدة داخل علامة تبويب. -
frameTypeChrome 106 والإصدارات الأحدث
نوع الإطار الذي تم فيه الطلب.
-
المستخدم
سلسلة اختيارية
Chrome 63 والإصدارات الأحدثالمصدر الذي بدأ منه الطلب ولا يتغيّر ذلك من خلال عمليات إعادة التوجيه. إذا كان هذا المصدر غير شفاف، سيتم استخدام السلسلة "null".
-
method
سلسلة
طريقة HTTP عادية
-
parentDocumentId
سلسلة اختيارية
Chrome 106 والإصدارات الأحدثتمثّل هذه السمة المعرّف الفريد العالمي (UUID) للمستند الرئيسي الذي يملك هذا الإطار. لا يتم ضبط هذه السمة إذا لم يكن هناك موقع رئيسي.
-
parentFrameId
الرقم
معرّف الإطار الذي يغلّف الإطار الذي أرسل الطلب. يتم ضبط القيمة على -1 في حال عدم توفّر إطار رئيسي.
-
requestHeaders
HttpHeaders اختيارية
عناوين طلب HTTP التي تم إرسالها مع هذا الطلب
-
requestId
سلسلة
معرّف الطلب. تكون أرقام تعريف الطلبات فريدة ضمن جلسة المتصفّح. نتيجةً لذلك، يمكن استخدامها لربط أحداث مختلفة من الطلب نفسه.
-
tabId
الرقم
رقم تعريف علامة التبويب التي يتم فيها تنفيذ الطلب اضبط القيمة على -1 إذا لم يكن الطلب مرتبطًا بعلامة تبويب.
-
timeStamp
الرقم
الوقت الذي يتم فيه تشغيل هذه الإشارة، بالملّي ثانية منذ بداية الحقبة
-
النوع
توضّح هذه السمة طريقة استخدام المورد المطلوب.
-
url
سلسلة
-
-
-
تصفية
-
extraInfoSpec
OnSendHeadersOptions[] اختياري