chrome.declarativeWebRequest

الوصف

ملاحظة: تم إيقاف واجهة برمجة التطبيقات هذه نهائيًا. يمكنك الاطّلاع على واجهة برمجة التطبيقات declarativeNetRequest بدلاً من ذلك. استخدِم واجهة برمجة التطبيقات chrome.declarativeWebRequest لاعتراض الطلبات أو حظرها أو تعديلها أثناء نقلها. وهي أسرع بكثير من واجهة برمجة التطبيقات chrome.webRequest لأنّه يمكنك تسجيل قواعد يتم تقييمها في المتصفّح بدلاً من محرّك 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 مفاهيم Declarative API. يمكنك تسجيل قواعد في عنصر الحدث chrome.declarativeWebRequest.onRequest.

تتيح واجهة برمجة التطبيقات Declarative Web Request نوعًا واحدًا من معايير المطابقة، وهو 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]);

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

تتّبع واجهة Declarative Web Request API نموذج دورة الحياة لطلبات الويب الخاص بواجهة Web Request API. وهذا يعني أنّه لا يمكن اختبار الشروط إلا في مراحل معيّنة من طلب الويب، وبالمثل، لا يمكن تنفيذ الإجراءات إلا في مراحل معيّنة. تعرض الجداول التالية مراحل الطلب المتوافقة مع الشروط والإجراءات.

مراحل الطلب التي يمكن خلالها معالجة سمات الشرط
سمة الشرط 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

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

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

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

AddResponseCookie

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

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

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

AddResponseHeader

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

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

  • الاسم

    سلسلة

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

  • القيمة

    سلسلة

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

CancelRequest

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

الخصائص

EditRequestCookie

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

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

  • تصفية

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

  • التعديل

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

EditResponseCookie

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

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

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

  • التعديل

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

FilterResponseCookie

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

الخصائص

  • ageLowerBound

    number اختيارية

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

  • ageUpperBound

    number اختيارية

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

  • نطاق

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

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

  • expires

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

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

  • httpOnly

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

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

  • maxAge

    number اختيارية

    قيمة سمة ملف تعريف الارتباط Max-Age

  • الاسم

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

    تمثّل هذه السمة اسم ملف تعريف الارتباط.

  • المسار

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

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

  • آمن

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

    وجود سمة ملف تعريف الارتباط الآمن

  • sessionCookie

    boolean اختياري

    تصفية ملفات تعريف الارتباط للجلسة لا تحتوي ملفات تعريف الارتباط الخاصة بالجلسة على مدة محددة في أي من السمتَين "max-age" أو "expires".

  • القيمة

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

    قيمة ملف تعريف الارتباط، وقد تكون محاطة بعلامتَي اقتباس مزدوجتَين.

HeaderFilter

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

الخصائص

  • nameContains

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

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

  • nameEquals

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

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

  • namePrefix

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

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

  • nameSuffix

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

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

  • valueContains

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

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

  • valueEquals

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

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

  • valuePrefix

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

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

  • valueSuffix

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

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

IgnoreRules

إخفاء جميع القواعد التي تتطابق مع المعايير المحدّدة

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

  • hasTag

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

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

  • lowerPriorityThan

    number اختيارية

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

RedirectByRegEx

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

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

  • من

    سلسلة

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

  • إلى

    سلسلة

    نمط الوجهة

RedirectRequest

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

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

  • redirectUrl

    سلسلة

    الوجهة التي تتم إعادة توجيه الطلب إليها

RedirectToEmptyDocument

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

الخصائص

RedirectToTransparentImage

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

الخصائص

RemoveRequestCookie

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

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

  • تصفية

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

RemoveRequestHeader

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

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

  • الاسم

    سلسلة

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

RemoveResponseCookie

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

الخصائص

RemoveResponseHeader

تزيل هذه السمة جميع عناوين الردود التي تحمل الأسماء والقيم المحدّدة.

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

  • الاسم

    سلسلة

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

  • القيمة

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

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

RequestCookie

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

الخصائص

  • الاسم

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

    تمثّل هذه السمة اسم ملف تعريف الارتباط.

  • القيمة

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

    قيمة ملف تعريف الارتباط، وقد تكون محاطة بعلامتَي اقتباس مزدوجتَين.

RequestMatcher

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

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

  • contentType

    string[] اختياري

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

  • excludeContentType

    string[] اختياري

    تتم المطابقة إذا كان نوع وسائط MIME الخاص بالاستجابة (من عنوان HTTP Content-Type) غير مضمّن في القائمة.

  • excludeRequestHeaders

    HeaderFilter[] اختياري

    تحدث مطابقة إذا لم يتطابق أي من عناوين الطلبات مع أي من HeaderFilters.

  • excludeResponseHeaders

    HeaderFilter[] اختياري

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

  • firstPartyForCookiesUrl

    UrlFilter اختياري

    تم إيقافها نهائيًا

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

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

  • requestHeaders

    HeaderFilter[] اختياري

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

  • resourceType

    ResourceType[] اختياري

    تتم المطابقة إذا كان نوع الطلب مضمّنًا في القائمة. سيتم فلترة الطلبات التي لا يمكن مطابقتها مع أي من الأنواع.

  • responseHeaders

    HeaderFilter[] اختياري

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

  • المراحل

    Stage[] اختياري

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

  • thirdPartyForCookies

    boolean اختياري

    تم إيقافها نهائيًا

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

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

  • url

    UrlFilter اختياري

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

ResponseCookie

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

الخصائص

  • نطاق

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

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

  • expires

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

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

  • httpOnly

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

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

  • maxAge

    number اختيارية

    قيمة سمة ملف تعريف الارتباط Max-Age

  • الاسم

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

    تمثّل هذه السمة اسم ملف تعريف الارتباط.

  • المسار

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

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

  • آمن

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

    وجود سمة ملف تعريف الارتباط الآمن

  • القيمة

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

    قيمة ملف تعريف الارتباط، وقد تكون محاطة بعلامتَي اقتباس مزدوجتَين.

SendMessageToExtension

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

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

  • رسالة

    سلسلة

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

SetRequestHeader

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

الخصائص

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

    باطل

    تبدو الدالة constructor على النحو التالي:

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

  • الاسم

    سلسلة

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

  • القيمة

    سلسلة

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

Stage

تعداد

"onBeforeRequest"

"onBeforeSendHeaders"

"onHeadersReceived"

"onAuthRequired"

الفعاليات

onMessage

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

يتم تشغيل هذا الحدث عند إرسال رسالة من خلال declarativeWebRequest.SendMessageToExtension من إجراء في واجهة برمجة التطبيقات Declarative Web Request API.

المعلمات

  • callback

    دالة

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

    (details: object) => void

    • التفاصيل

      عنصر

      • documentId

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

        رقم تعريف فريد عالميًا (UUID) للمستند الذي أرسل الطلب

      • تمثّل هذه السمة دورة الحياة التي يمرّ بها المستند.

      • frameId

        الرقم

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

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

      • رسالة

        سلسلة

        الرسالة التي أرسلها النص البرمجي الذي يستدعي الدالة

      • method

        سلسلة

        طريقة HTTP عادية

      • parentDocumentId

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

        رقم تعريف فريد عالميًا (UUID) للمستند الرئيسي الذي يملك هذا الإطار لا يتم ضبط هذه السمة إذا لم يكن هناك عنصر رئيسي.

      • parentFrameId

        الرقم

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

      • requestId

        سلسلة

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

      • مرحلة

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

      • tabId

        الرقم

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

      • timeStamp

        الرقم

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

      • توضّح هذه السمة طريقة استخدام المورد المطلوب.

      • url

        سلسلة

onRequest

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

الشروط