chrome.declarativeWebRequest

الوصف

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

الأذونات

declarativeWebRequest

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

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

مدى توفّر الخدمة

القناة التجريبية &leq، 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".

القواعد

تتّبع واجهة برمجة التطبيقات Delarative 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]);

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

تتّبع واجهة برمجة التطبيقات Delarative 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

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

يمكن ربط القواعد بأولويات كما هو موضَّح في Event 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

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

أماكن إقامة

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

    void

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

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

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

AddResponseCookie

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

أماكن إقامة

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

    void

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

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

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

AddResponseHeader

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

أماكن إقامة

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

    void

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

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

  • اسم

    سلسلة

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

  • القيمة

    سلسلة

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

CancelRequest

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

أماكن إقامة

EditRequestCookie

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

أماكن إقامة

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

    void

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

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

  • filter

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

  • تعديل

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

EditResponseCookie

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

أماكن إقامة

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

    void

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

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

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

  • تعديل

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

FilterResponseCookie

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

أماكن إقامة

  • ageLowerBound

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

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

  • ageUpperBound

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

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

  • نطاق

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

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

  • expires

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

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

  • httpOnly

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

    توفُّر سمة ملف تعريف الارتباط HttpOnly

  • maxAge

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

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

  • اسم

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

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

  • المسار

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

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

  • آمن

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

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

  • sessionCookie

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

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

  • القيمة

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

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

HeaderFilter

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

أماكن إقامة

  • nameContains

    string|string[] optional

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

  • nameEquals

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

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

  • namePrefix

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

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

  • nameSuffix

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

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

  • valueContains

    string|string[] optional

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

  • valueEquals

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

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

  • valuePrefix

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

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

  • valueSuffix

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

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

IgnoreRules

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

أماكن إقامة

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

    void

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

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

  • hasTag

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

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

  • lowerPriorityThan

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

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

RedirectByRegEx

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

أماكن إقامة

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

    void

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

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

  • من

    سلسلة

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

  • إلى

    سلسلة

    نمط الوجهة

RedirectRequest

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

أماكن إقامة

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

    void

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

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

  • redirectUrl

    سلسلة

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

RedirectToEmptyDocument

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

أماكن إقامة

RedirectToTransparentImage

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

أماكن إقامة

RemoveRequestCookie

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

أماكن إقامة

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

    void

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

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

  • filter

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

RemoveRequestHeader

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

أماكن إقامة

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

    void

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

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

  • اسم

    سلسلة

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

RemoveResponseCookie

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

أماكن إقامة

RemoveResponseHeader

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

أماكن إقامة

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

    void

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

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

  • اسم

    سلسلة

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

  • القيمة

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

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

RequestCookie

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

أماكن إقامة

  • اسم

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

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

  • القيمة

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

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

RequestMatcher

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

أماكن إقامة

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

    void

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

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

  • contentType

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

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

  • excludeContentType

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

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

  • excludeRequestHeaders

    HeaderFilter[] اختيارية

    يتطابق في حال عدم تطابق أي من عناوين الطلبات مع أي من فلاتر HeaderFilters.

  • excludeResponseHeaders

    HeaderFilter[] اختيارية

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

  • firstPartyForCookiesUrl

    UrlFilter اختياري

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

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

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

  • requestHeaders

    HeaderFilter[] اختيارية

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

  • resourceType

    ResourceType[] اختيارية

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

  • responseHeaders

    HeaderFilter[] اختيارية

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

  • المراحل

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

    يحتوي على قائمة من السلاسل التي تصف المراحل. القيم المسموح بها هي 'onPreviousRequest' و'onbeforeSendHeaders' و'onHeadersReceived' و'onAuthrequired'. إذا كانت هذه السمة موجودة، ستقصر المراحل السارية على المراحل المدرَجة. لا يمكن تطبيق الشرط الكامل إلا على المراحل المتوافقة مع جميع السمات.

  • thirdPartyForCookies

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

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

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

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

  • url

    UrlFilter اختياري

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

ResponseCookie

يشير ذلك المصطلح إلى مواصفات ملفّ تعريف ارتباط في استجابات HTTP.

أماكن إقامة

  • نطاق

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

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

  • expires

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

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

  • httpOnly

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

    توفُّر سمة ملف تعريف الارتباط HttpOnly

  • maxAge

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

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

  • اسم

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

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

  • المسار

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

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

  • آمن

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

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

  • القيمة

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

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

SendMessageToExtension

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

أماكن إقامة

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

    void

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

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

  • رسالة

    سلسلة

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

SetRequestHeader

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

أماكن إقامة

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

    void

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

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

  • اسم

    سلسلة

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

  • القيمة

    سلسلة

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

Stage

التعداد

"onHeadersReceived"

فعاليات

onMessage

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

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

المَعلمات

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة 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

توفّر واجهة برمجة التطبيقات للحدث البيان التي تتكوَّن من addRules وremoveRules وgetRules.

الشروط