chrome.declarativeWebRequest

الوصف

ملاحظة: تم إيقاف واجهة برمجة التطبيقات هذه نهائيًا. يمكنك زيارة واجهة برمجة تطبيقات declarativeNetRequest بدلاً من ذلك. يمكنك استخدام واجهة برمجة التطبيقات chrome.declarativeWebRequest لاعتراض الطلبات أثناء الطيران أو حظرها أو تعديلها. وهي أسرع بكثير من chrome.webRequest API، إذ يمكنك تسجيل القواعد التي يتم تقييمها في المتصفّح بدلاً من محرّك JavaScript، ما يقلّل من أوقات الاستجابة للإرسال والاستقبال ويتيح رفع الكفاءة.

الأذونات

declarativeWebRequest

يجب الإفصاح عن الطلب "declarativeWebRequest". إذن في بيان الإضافة لاستخدام هذا بالإضافة إلى أذونات المضيف.

{
  "name": "My extension",
  ...
  "permissions": [
    "declarativeWebRequest",
    "*://*/*"
  ],
  ...
}

مدى التوفّر

قناة تجريبية ≤ MV2

البيان

يُرجى العِلم أنّ بعض أنواع الإجراءات غير الحسّاسة لا تتطلب أذونات المضيف:

  • CancelRequest
  • IgnoreRules
  • RedirectToEmptyDocument
  • RedirectToTransparentImage

يتطلب الإجراء SendMessageToExtension() أذونات مضيف لأي مضيفات ترسل طلبات الشبكة إليها. التي تريد عرض رسالة عليها

تتطلب جميع الإجراءات الأخرى أذونات المضيف لجميع عناوين URL.

على سبيل المثال، إذا كان "https://*.google.com/*" هو إذن المضيف الوحيد الذي تحصل عليه الإضافة، فعندئذ إضافة قاعدة إلى:

  • إلغاء طلب إرسال إلى https://www.google.com أو https://anything.else.com
  • إرسال رسالة عند الانتقال إلى https://www.google.com وليس إلى https://something.else.com.

لا يمكن للإضافة إعداد قاعدة لإعادة توجيه https://www.google.com إلى https://mail.google.com.

القواعد

تتّبع واجهة برمجة التطبيقات Declarative Web Request API مفاهيم Declarative API. يمكنك التسجيل القواعد إلى كائن الحدث chrome.declarativeWebRequest.onRequest.

تتيح واجهة برمجة التطبيقات Delarative Web Request API نوعًا واحدًا من معايير المطابقة، وهو RequestMatcher. تشير رسالة الأشكال البيانية تجري مطابقة RequestMatcher لطلبات الشبكة فقط في حال استيفاء جميع المعايير المدرَجة. ما يلي: ستطابق RequestMatcher طلب الشبكة عندما يُدخل المستخدم https://www.example.com في المربّع المتعدد الاستخدامات:

var matcher = new chrome.declarativeWebRequest.RequestMatcher({
  url: { hostSuffix: 'example.com', schemes: ['http'] },
  resourceType: ['main_frame']
});

وبالتالي، سيتم رفض الطلبات المُرسَلة إلى "https://www.example.com" من قِبل "RequestMatcher" بسبب المخطّط. وسيتم أيضًا رفض جميع الطلبات المتعلّقة بإطار iframe مضمّن، وذلك بسبب resourceType.

لإلغاء جميع الطلبات الموجّهة إلى "example.com"، يمكنك تحديد قاعدة على النحو التالي:

var rule = {
  conditions: [
    new chrome.declarativeWebRequest.RequestMatcher({
      url: { hostSuffix: 'example.com' } })
  ],
  actions: [
    new chrome.declarativeWebRequest.CancelRequest()
  ]
};

لإلغاء جميع الطلبات الموجّهة إلى example.com وfoobar.com، يمكنك إضافة شرط ثانٍ، وهي: لأنّ كل شرط يكون كافيًا لتشغيل جميع الإجراءات المحددة:

var rule2 = {
  conditions: [
    new chrome.declarativeWebRequest.RequestMatcher({
      url: { hostSuffix: 'example.com' } }),
    new chrome.declarativeWebRequest.RequestMatcher({
      url: { hostSuffix: 'foobar.com' } })
  ],
  actions: [
    new chrome.declarativeWebRequest.CancelRequest()
  ]
};

تسجيل القواعد على النحو التالي:

chrome.declarativeWebRequest.onRequest.addRules([rule2]);

تقييم الشروط والإجراءات

تتّبع واجهة برمجة تطبيقات طلب الويب بيانًا ليناسب نموذج دورة الحياة لطلبات الويب من الويب واجهة برمجة التطبيقات الخاصة بالطلبات: هذا يعني أنّه لا يمكن اختبار الشروط إلا في مراحل محدّدة من طلب الويب. وبالمثل، لا يمكن تنفيذ الإجراءات إلا في مراحل محدّدة. تسرد الجداول التالية طلب مراحل متوافقة مع الشروط والإجراءات.

مراحل الطلب التي يمكن خلالها معالجة سمات الشروط.
سمة الشرط onBeforeRequest onBeforeSendHeaders onHeadersReceived onAuthRequired
url
resourceType
contentType
excludeContentType
responseHeaders
excludeResponseHeaders
requestHeaders
excludeRequestHeaders
thirdPartyForCookies
مراحل الطلب التي يمكن تنفيذ الإجراءات خلالها.
الحدث onBeforeRequest onBeforeSendHeaders onHeadersReceived onAuthRequired
AddRequestCookie
AddResponseCookie
AddResponseHeader
CancelRequest
EditRequestCookie
EditResponseCookie
IgnoreRules
RedirectByRegEx
RedirectRequest
RedirectToEmptyDocument
RedirectToTransparentImage
RemoveRequestCookie
RemoveRequestHeader
RemoveResponseCookie
RemoveResponseHeader
SendMessageToExtension
SetRequestHeader

استخدام الأولويات لإلغاء القواعد

يمكن ربط القواعد بالأولويات كما هو موضّح في Events API. يمكن تنفيذ هذه الآلية يُستخدم للتعبير عن الاستثناءات. يحظر المثال التالي جميع الطلبات المتعلّقة بالصور التي تحمل اسم "evil.jpg". باستثناء الخادم "myserver.com".

var rule1 = {
  priority: 100,
  conditions: [
    new chrome.declarativeWebRequest.RequestMatcher({
        url: { pathEquals: 'evil.jpg' } })
  ],
  actions: [
    new chrome.declarativeWebRequest.CancelRequest()
  ]
};
var rule2 = {
  priority: 1000,
  conditions: [
    new chrome.declarativeWebRequest.RequestMatcher({
      url: { hostSuffix: '.myserver.com' } })
  ],
  actions: [
    new chrome.declarativeWebRequest.IgnoreRules({
      lowerPriorityThan: 1000 })
  ]
};
chrome.declarativeWebRequest.onRequest.addRules([rule1, rule2]);

من المهم إدراك أنّ إجراء IgnoreRules لا يستمر في الطلب. المراحل. يتم تقييم جميع الشروط الخاصة بجميع القواعد في كل مرحلة من مراحل طلب الويب. إذا كانت يتم تنفيذ الإجراء IgnoreRules، ولا ينطبق إلا على الإجراءات الأخرى التي يتم تنفيذها لنفس إجراء طلب الويب في نفس المرحلة.

الأنواع

AddRequestCookie

إضافة ملف تعريف ارتباط إلى الطلب أو إلغاء ملف تعريف ارتباط، في حالة وجود ملف تعريف ارتباط آخر يحمل الاسم نفسه من قبل. يُرجى العِلم أنّه من المفضّل استخدام واجهة برمجة التطبيقات Cookies API لأنّها أقل تكلفة من الناحية الحسابية.

أماكن إقامة

  • الدالة الإنشائية

    فراغ

    تبدو دالة constructor كما يلي:

    (arg: AddRequestCookie) => {...}

  • ستتم إضافة ملف تعريف الارتباط إلى الطلب. لا يمكن أن يكون هناك حقل غير معروف.

AddResponseCookie

إضافة ملف تعريف ارتباط إلى الاستجابة أو إلغاء ملف تعريف ارتباط، في حالة وجود ملف تعريف ارتباط آخر يحمل الاسم نفسه من قبل. يُرجى العِلم أنّه من المفضّل استخدام واجهة برمجة التطبيقات Cookies API لأنّها أقل تكلفة من الناحية الحسابية.

أماكن إقامة

  • الدالة الإنشائية

    فراغ

    تبدو دالة constructor كما يلي:

    (arg: AddResponseCookie) => {...}

  • ستتم إضافة ملف تعريف الارتباط إلى الردّ. يجب تحديد الاسم والقيمة.

AddResponseHeader

تتم إضافة عنوان الاستجابة إلى الاستجابة لطلب الويب هذا. بما أنّ عدة عناوين للردود قد تحمل الاسم نفسه، عليك أولاً إزالة عنوان استجابة جديد ثم إضافة عنوان جديد لاستبداله.

أماكن إقامة

  • الدالة الإنشائية

    فراغ

    تبدو دالة constructor كما يلي:

    (arg: AddResponseHeader) => {...}

  • الاسم

    سلسلة

    اسم عنوان استجابة HTTP.

  • القيمة

    سلسلة

    قيمة عنوان استجابة HTTP.

CancelRequest

إجراء حدث تعريفي يلغي طلب الشبكة.

أماكن إقامة

EditRequestCookie

تعديل ملف تعريف ارتباط واحد أو أكثر من ملفات تعريف الارتباط للطلب. يُرجى العِلم أنّه من المفضّل استخدام واجهة برمجة التطبيقات Cookies API لأنّها أقل تكلفة من الناحية الحسابية.

أماكن إقامة

  • الدالة الإنشائية

    فراغ

    تبدو دالة constructor كما يلي:

    (arg: EditRequestCookie) => {...}

  • تصفية

    قم بتصفية ملفات تعريف الارتباط التي سيتم تعديلها. يتم تجاهل جميع الإدخالات الفارغة.

  • تعديل

    السمات التي سيتم تجاوزها في ملفات تعريف الارتباط التي دمجت مع الفلتر. تتم إزالة السمات التي تم ضبطها على سلسلة فارغة.

EditResponseCookie

تعديل ملف تعريف ارتباط واحد أو أكثر للاستجابة. يُرجى العِلم أنّه من المفضّل استخدام واجهة برمجة التطبيقات Cookies API لأنّها أقل تكلفة من الناحية الحسابية.

أماكن إقامة

  • الدالة الإنشائية

    فراغ

    تبدو دالة constructor كما يلي:

    (arg: EditResponseCookie) => {...}

  • قم بتصفية ملفات تعريف الارتباط التي سيتم تعديلها. يتم تجاهل جميع الإدخالات الفارغة.

  • تعديل

    السمات التي سيتم تجاوزها في ملفات تعريف الارتباط التي دمجت مع الفلتر. تتم إزالة السمات التي تم ضبطها على سلسلة فارغة.

FilterResponseCookie

فلتر لملف تعريف الارتباط في استجابات HTTP

أماكن إقامة

  • ageLowerBound

    الرقم اختياري

    حد أدنى شامل على فترة بقاء ملف تعريف الارتباط (يتم تحديده بالثواني بعد الوقت الحالي) ملفات تعريف الارتباط فقط التي تم ضبط وقت انتهاء صلاحيتها على "now + ageLowBound" أو تفي بهذا المعيار لاحقًا. لا تستوفي ملفات تعريف الارتباط للجلسة معيار هذا الفلتر. يتم احتساب العمر الافتراضي لملف تعريف الارتباط إما من "max-age" أو "انتهاء الصلاحية" سمات ملفات تعريف الارتباط. إذا تم تحديد الاثنين، تكون قيمة "max-age" لحساب العمر الافتراضي لملف تعريف الارتباط.

  • ageUpperBound

    الرقم اختياري

    حد أعلى شامل على فترة بقاء ملف تعريف الارتباط (يتم تحديده بالثواني بعد الوقت الحالي) فقط ملفات تعريف الارتباط التي يقع تاريخ انتهاء صلاحيتها ضمن الفاصل الزمني [الآن + ageUpperBound] تفي بهذا المعيار. إنّ ملفات تعريف الارتباط الخاصة بالجلسة وملفات تعريف الارتباط التي يكون تاريخ انتهاء صلاحيتها في الماضي لا تستوفي معيار هذا الفلتر. يتم احتساب العمر الافتراضي لملف تعريف الارتباط إما من "max-age" أو "انتهاء الصلاحية" سمات ملفات تعريف الارتباط. إذا تم تحديد الاثنين، تكون قيمة "max-age" لحساب العمر الافتراضي لملف تعريف الارتباط.

  • نطاق

    سلسلة اختيارية

    قيمة سمة ملفات تعريف ارتباط النطاق

  • expires

    سلسلة اختيارية

    قيمة سمة منتهية الصلاحية في ملفّات تعريف الارتباط

  • httpOnly

    سلسلة اختيارية

    وجود سمة ملف تعريف الارتباط HttpOnly.

  • maxAge

    الرقم اختياري

    قيمة سمة ملفات تعريف الارتباط المتعلّقة بالحدّ الأقصى للعمر

  • الاسم

    سلسلة اختيارية

    اسم ملف تعريف الارتباط.

  • المسار

    سلسلة اختيارية

    قيمة سمة ملفّات تعريف الارتباط للمسار

  • آمن

    سلسلة اختيارية

    توفُّر سمة "ملفات تعريف الارتباط الآمنة"

  • ملف تعريف الارتباط للجلسة

    قيمة منطقية اختيارية

    يصفي ملفات تعريف الارتباط للجلسة. لم يتم تحديد فترة بقاء ملفات تعريف الارتباط للجلسة في أي من "الحدّ الأقصى للعمر" أو "انتهاء الصلاحية" ذات الصلة.

  • القيمة

    سلسلة اختيارية

    ويمكن إضافة قيمة ملف تعريف الارتباط بين علامتَي اقتباس.

HeaderFilter

تطلب الفلاتر عناوين للمعايير المختلفة. يتم تقييم المعايير المتعددة كتركيب.

أماكن إقامة

  • nameContains

    string | string[] اختيارية

    تتم مطابقة ما إذا كان اسم العنوان يحتوي على جميع السلاسل المحدَّدة.

  • nameEquals

    سلسلة اختيارية

    تتطابق هذه السمة مع ما إذا كان اسم العنوان مساويًا للسلسلة المحدّدة.

  • namePrefix

    سلسلة اختيارية

    تتم مطابقة ما إذا كان اسم العنوان يبدأ بالسلسلة المحدَّدة.

  • nameSuffix

    سلسلة اختيارية

    تتم مطابقة ما إذا كان اسم العنوان ينتهي بالسلسلة المحدَّدة.

  • valueContains

    string | string[] اختيارية

    تتم مطابقة ما إذا كانت قيمة العنوان تحتوي على جميع السلاسل المحددة.

  • valueEquals

    سلسلة اختيارية

    تتم مطابقة ما إذا كانت قيمة العنوان مساوية للسلسلة المحدَّدة.

  • valuePrefix

    سلسلة اختيارية

    تتم مطابقة ما إذا كانت قيمة العنوان تبدأ بالسلسلة المحدّدة.

  • valueSuffix

    سلسلة اختيارية

    تتم مطابقة ما إذا كانت قيمة العنوان تنتهي بالسلسلة المحدَّدة.

IgnoreRules

تحجب جميع القواعد التي تتطابق مع المعايير المحددة.

أماكن إقامة

  • الدالة الإنشائية

    فراغ

    تبدو دالة constructor كما يلي:

    (arg: IgnoreRules) => {...}

  • hasTag

    سلسلة اختيارية

    وفي حال ضبطها، يتم تجاهل القواعد التي تتضمّن العلامة المحدّدة. ولا يستمر هذا التجاهل، بل يؤثر فقط في القواعد وإجراءاتها في مرحلة طلب الشبكة نفسها. تجدر الإشارة إلى أنه يتم تنفيذ القواعد بترتيب تنازلي حسب أولوياتها. يؤثر هذا الإجراء في القواعد ذات الأولوية الأقل من القاعدة الحالية. قد يتم أو لا يتم تجاهل القواعد ذات الأولوية نفسها.

  • lowerPriorityThan

    الرقم اختياري

    وفي حال ضبطها، يتم تجاهل القواعد ذات الأولوية الأقل من القيمة المحدّدة. لا يستمر هذا الحد، بل يؤثر فقط في القواعد وإجراءاتها في مرحلة طلب الشبكة نفسها.

RedirectByRegEx

إعادة توجيه طلب من خلال تطبيق تعبير عادي على عنوان URL. تستخدم التعبيرات العادية بنية RE2.

أماكن إقامة

  • الدالة الإنشائية

    فراغ

    تبدو دالة constructor كما يلي:

    (arg: RedirectByRegEx) => {...}

  • من

    سلسلة

    نمط مطابقة قد يحتوي على مجموعات التقاط. تتم الإشارة إلى مجموعات الالتقاط في بناء جملة Perl ($1، $2، ...) بدلاً من بناء جملة RE2 (\1، \2، ...) لتكون أقرب إلى تعبيرات JavaScript العادية.

  • إلى

    سلسلة

    نمط الوجهة

RedirectRequest

إجراء حدث تعريفي يعيد توجيه طلب شبكة.

أماكن إقامة

  • الدالة الإنشائية

    فراغ

    تبدو دالة constructor كما يلي:

    (arg: RedirectRequest) => {...}

  • redirectUrl

    سلسلة

    الوجهة إلى حيث تتم إعادة توجيه الطلب.

RedirectToEmptyDocument

إجراء حدث تعريفي يعيد توجيه طلب شبكة إلى مستند فارغ.

أماكن إقامة

RedirectToTransparentImage

إجراء حدث تعريفي يعيد توجيه طلب الشبكة إلى صورة شفافة.

أماكن إقامة

RemoveRequestCookie

يزيل ملف تعريف ارتباط واحدًا أو أكثر من ملفات تعريف الارتباط للطلب. يُرجى العِلم أنّه من المفضّل استخدام واجهة برمجة التطبيقات Cookies API لأنّها أقل تكلفة من الناحية الحسابية.

أماكن إقامة

  • الدالة الإنشائية

    فراغ

    تبدو دالة constructor كما يلي:

    (arg: RemoveRequestCookie) => {...}

  • تصفية

    طبِّق الفلتر بحثًا عن ملفات تعريف الارتباط التي ستتم إزالتها. يتم تجاهل جميع الإدخالات الفارغة.

RemoveRequestHeader

لإزالة عنوان الطلب للاسم المحدّد. لا تستخدم SetRequestHeader وRemoveRequestHeader يحملان اسم الرأس نفسه في الطلب نفسه. يحدث كل اسم عنوان طلب مرة واحدة فقط في كل طلب.

أماكن إقامة

RemoveResponseCookie

إزالة ملف تعريف ارتباط واحد أو أكثر من ملفات تعريف الارتباط للاستجابة يُرجى العِلم أنّه من المفضّل استخدام واجهة برمجة التطبيقات Cookies API لأنّها أقل تكلفة من الناحية الحسابية.

أماكن إقامة

RemoveResponseHeader

إزالة جميع عناوين الاستجابة للأسماء والقيم المحدّدة.

أماكن إقامة

  • الدالة الإنشائية

    فراغ

    تبدو دالة constructor كما يلي:

    (arg: RemoveResponseHeader) => {...}

  • الاسم

    سلسلة

    اسم عنوان طلب HTTP (غير حساس لحالة الأحرف).

  • القيمة

    سلسلة اختيارية

    قيمة عنوان طلب HTTP (غير حساسة لحالة الأحرف).

RequestCookie

فلتر أو مواصفات ملف تعريف ارتباط في طلبات HTTP.

أماكن إقامة

  • الاسم

    سلسلة اختيارية

    اسم ملف تعريف الارتباط.

  • القيمة

    سلسلة اختيارية

    ويمكن إضافة قيمة ملف تعريف الارتباط بين علامتَي اقتباس.

RequestMatcher

يطابق أحداث الشبكة حسب معايير مختلفة.

أماكن إقامة

  • الدالة الإنشائية

    فراغ

    تبدو دالة constructor كما يلي:

    (arg: RequestMatcher) => {...}

  • contentType

    string[] اختيارية

    تتم مطابقة ما إذا كان نوع وسائط MIME للاستجابة (من عنوان نوع محتوى HTTP) متضمّنًا في القائمة.

  • excludeContentType

    string[] اختيارية

    تتم مطابقة ما إذا كان نوع وسائط MIME للاستجابة (من عنوان نوع محتوى HTTP) غير مضمَّن في القائمة.

  • excludeRequestHeaders

    HeaderFilter[] اختيارية

    تتم مطابقة هذا الحقل إذا لم تتم مطابقة أي من عناوين الطلبات مع أي من فلاتر العناوين.

  • excludeResponseHeaders

    HeaderFilter[] اختيارية

    تتم مطابقة هذه السمة إذا لم تتم مطابقة أي من عناوين الاستجابة من خلال أي من فلاتر العناوين.

  • firstPartyForCookiesUrl

    UrlFilter اختياري

    متوقّفة نهائيًا

    تم تجاهل السياسة منذ الإصدار 82.

    تتم المطابقة إذا تم استيفاء شروط UrlFilter لـ "الطرف الأول". عنوان URL للطلب. "الطرف الأول" إنّ عنوان URL الخاص بالطلب، عند توفّره، يمكن أن يختلف عن عنوان URL المستهدَف للطلب، ويصف ما يتم اعتباره "الطرف الأول". لأغراض التحقّق من ملفات تعريف الارتباط التابعة للجهات الخارجية

  • requestHeaders

    HeaderFilter[] اختيارية

    تتم مطابقة ما إذا تمت مطابقة بعض عناوين الطلبات مع أحد فلاتر العناوين.

  • resourceType

    ResourceType[] اختياري

    تتم مطابقة ما إذا كان نوع الطلب الخاص بالطلب مُدرجًا في القائمة. وسيتم استبعاد الطلبات التي لا يمكن أن تتطابق مع أي نوع من الأنواع.

  • responseHeaders

    HeaderFilter[] اختيارية

    تتم مطابقة ما إذا تمت مطابقة بعض عناوين الاستجابة مع أحد فلاتر العناوين.

  • المراحل

    المرحلة[] اختيارية

    تحتوي على قائمة بالسلاسل التي تصف المراحل. القيم المسموح بها هي "onBeforeRequest" و"onBeforeSendHeaders" و"onHeadersReceived" و"onAuthrequired". في حال توفّر هذه السمة، يعني ذلك حصر المراحل القابلة للتطبيق بالمراحل المدرَجة. يُرجى العلم أنّ الشرط بأكمله لا ينطبق إلّا على المراحل المتوافقة مع جميع السمات.

  • thirdPartyForCookies

    قيمة منطقية اختيارية

    متوقّفة نهائيًا

    تم تجاهل السياسة منذ الإصدار 87.

    وفي حال ضبطها على "صحيح"، تتم مطابقة الطلبات التي تخضع لسياسات ملفات تعريف الارتباط التابعة لجهات خارجية. وفي حال ضبطها على "خطأ"، تتم مطابقة جميع الطلبات الأخرى.

  • url

    UrlFilter اختياري

    تتم مطابقة ما إذا تم استيفاء شروط UrlFilter لعنوان URL الخاص بالطلب.

ResponseCookie

تحديد ملف تعريف ارتباط في استجابات HTTP.

أماكن إقامة

  • نطاق

    سلسلة اختيارية

    قيمة سمة ملفات تعريف ارتباط النطاق

  • expires

    سلسلة اختيارية

    قيمة سمة منتهية الصلاحية في ملفّات تعريف الارتباط

  • httpOnly

    سلسلة اختيارية

    وجود سمة ملف تعريف الارتباط HttpOnly.

  • maxAge

    الرقم اختياري

    قيمة سمة ملفات تعريف الارتباط المتعلّقة بالحدّ الأقصى للعمر

  • الاسم

    سلسلة اختيارية

    اسم ملف تعريف الارتباط.

  • المسار

    سلسلة اختيارية

    قيمة سمة ملفّات تعريف الارتباط للمسار

  • آمن

    سلسلة اختيارية

    توفُّر سمة "ملفات تعريف الارتباط الآمنة"

  • القيمة

    سلسلة اختيارية

    ويمكن إضافة قيمة ملف تعريف الارتباط بين علامتَي اقتباس.

SendMessageToExtension

تؤدي إلى تشغيل حدث declarativeWebRequest.onMessage.

أماكن إقامة

  • الدالة الإنشائية

    فراغ

    تبدو دالة constructor كما يلي:

    (arg: SendMessageToExtension) => {...}

  • رسالة

    سلسلة

    القيمة التي سيتم تمريرها في السمة message للقاموس والتي يتم تمريرها إلى معالِج الحدث.

SetRequestHeader

لضبط عنوان الطلب للاسم المحدّد على القيمة المحدّدة. إذا لم يكن هناك عنوان بالاسم المحدد من قبل، فسيتم إنشاء رأس جديد. دائمًا ما تكون مقارنة اسم العنوان غير حساسة لحالة الأحرف. يحدث كل اسم عنوان طلب مرة واحدة فقط في كل طلب.

أماكن إقامة

  • الدالة الإنشائية

    فراغ

    تبدو دالة constructor كما يلي:

    (arg: SetRequestHeader) => {...}

  • الاسم

    سلسلة

    اسم عنوان طلب HTTP

  • القيمة

    سلسلة

    قيمة عنوان طلب HTTP.

Stage

Enum

"onBeforeRequest"

"onBeforeSendHeaders"

"onHeadersReceived"

"onAuthrequired"

فعاليات

onMessage

chrome.declarativeWebRequest.onMessage.addListener(
  callback: function,
)

يتم الإطلاق عند إرسال رسالة عبر declarativeWebRequest.SendMessageToExtension من إجراء في واجهة برمجة تطبيقات طلب الويب الإعلاني.

المعلمات

  • رد الاتصال

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (details: object) => void

    • التفاصيل

      كائن

      • documentId

        سلسلة اختيارية

        معرّف فريد عالمي للمستند الذي تم تقديم الطلب من خلاله.

      • دورة الحياة التي يكون فيها المستند

      • frameId

        الرقم

        تشير القيمة 0 إلى أن الطلب يحدث في الإطار الرئيسي؛ تشير القيمة الموجبة إلى معرف الإطار الفرعي الذي يحدث فيه الطلب. في حال تحميل مستند الإطار (الفرعي) (القيمة type هي main_frame أو sub_frame)، تشير القيمة frameId إلى معرّف هذا الإطار، وليس رقم تعريف الإطار الخارجي. تكون معرفات الإطارات فريدة داخل علامة تبويب.

      • نوع الإطار الذي حدث فيه التنقل.

      • رسالة

        سلسلة

        الرسالة المُرسَلة من النص البرمجي للاتصال.

      • method

        سلسلة

        طريقة HTTP العادية

      • parentDocumentId

        سلسلة اختيارية

        معرّف فريد عالمي للمستند الرئيسي الذي يملك هذا الإطار. ولا يتم ضبط ذلك إذا لم يكن هناك عنصر رئيسي.

      • parentFrameId

        الرقم

        رقم تعريف الإطار الذي يلتف حول الإطار الذي أرسل الطلب. اضبط القيمة على -1 في حال عدم توفّر إطار رئيسي.

      • requestId

        سلسلة

        رقم تعريف الطلب. تكون معرّفات الطلبات فريدة ضمن جلسة متصفّح. ونتيجة لذلك، يمكن استخدامها لربط أحداث مختلفة للطلب نفسه.

      • مرحلة

        مرحلة طلب الشبكة التي تم خلالها تشغيل الحدث.

      • tabId

        الرقم

        رقم تعريف علامة التبويب التي يحدث فيها الطلب. اضبط القيمة على -1 إذا لم يكن الطلب مرتبطًا بعلامة تبويب.

      • timeStamp

        الرقم

        الوقت الذي يتم فيه تشغيل هذه الإشارة، بالمللي ثانية منذ تاريخ بدء حساب الفترة

      • كيفية استخدام المورد المطلوب.

      • url

        سلسلة

onRequest

لتوفير Declarative Event API التي تتألّف من addRules وremoveRules وgetRules.

الشروط