chrome.declarativeNetRequest

refresh date: 2026-09-25 robots: noindex

الوصف

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

الأذونات

declarativeNetRequest
declarativeNetRequestWithHostAccess

declarativeNetRequestFeedback
host_permissions

مدى التوفّر

‫Chrome 84 والإصدارات الأحدث

البيان

بالإضافة إلى الأذونات الموضّحة أعلاه، تتطلّب أنواع معيّنة من مجموعات القواعد، وتحديدًا مجموعات القواعد الثابتة، الإفصاح عن مفتاح البيان "declarative_net_request"، والذي يجب أن يكون قاموسًا يحتوي على مفتاح واحد باسم "rule_resources". هذا المفتاح هو عبارة عن مصفوفة تحتوي على قواميس من النوع Ruleset، كما هو موضّح أدناه. (يُرجى العِلم أنّ الاسم "مجموعة القواعد" لا يظهر في ملف JSON الخاص بالبيان لأنّه مجرّد مصفوفة). سيتم شرح مجموعات القواعد الثابتة لاحقًا في هذا المستند.

{
  "name": "My extension",
  ...

  "declarative_net_request" : {
    "rule_resources" : [{
      "id": "ruleset_1",
      "enabled": true,
      "path": "rules_1.json"
    }, {
      "id": "ruleset_2",
      "enabled": false,
      "path": "rules_2.json"
    }]
  },
  "permissions": [
    "declarativeNetRequest",
    "declarativeNetRequestFeedback",
  ],
  "host_permissions": [
    "http://www.blogger.com/*",
    "http://*.google.com/*"
  ],
  ...
}

المفاهيم والاستخدام

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

  • حظر طلب شبكة
  • ترقية المخطط (من http إلى https)
  • منع حظر طلب من خلال إلغاء أي قواعد محظورة مطابقة
  • إعادة توجيه طلب شبكة
  • تعديل عناوين الطلبات أو الردود

هناك ثلاثة أنواع من مجموعات القواعد، ويتم إدارتها بطرق مختلفة قليلاً.

ديناميكية
تستمر في العمل خلال جلسات المتصفّح وعمليات ترقية الإضافة، ويتمّ إدارتها باستخدام JavaScript أثناء استخدام الإضافة.
الجلسة
يتم محوها عند إغلاق المتصفّح وعند تثبيت إصدار جديد من الإضافة. تتم إدارة قواعد الجلسات باستخدام JavaScript أثناء استخدام إحدى الإضافات.
ثابت
يتم تجميعها وتثبيتها وتحديثها عند تثبيت إضافة أو ترقيتها. يتم تخزين القواعد الثابتة في ملفات قواعد بتنسيق JSON ويتم إدراجها في ملف البيان.

توضّح الأقسام القليلة التالية أنواع مجموعات القواعد بالتفصيل.

مجموعات القواعد الديناميكية وعلى مستوى الجلسة

تتم إدارة مجموعات القواعد الديناميكية وقواعد الجلسة باستخدام JavaScript أثناء استخدام إضافة.

  • تستمر القواعد الديناميكية في جميع جلسات المتصفّح وعمليات ترقية الإضافة.
  • تتم إزالة قواعد الجلسة عند إغلاق المتصفّح وعند تثبيت إصدار جديد من الإضافة.

يتوفّر نوع واحد فقط من كل نوع من أنواع مجموعات القواعد هذه. يمكن لإحدى الإضافات إضافة قواعد إلى هذه المجموعات أو إزالتها منها بشكلٍ ديناميكي من خلال استدعاء updateDynamicRules() وupdateSessionRules()، شرط عدم تجاوز حدود القواعد. للحصول على معلومات حول الحدود القصوى للقواعد، اطّلِع على الحدود القصوى للقواعد. يمكنك الاطّلاع على مثال على ذلك ضمن أمثلة على الرموز.

مجموعات القواعد الثابتة

على عكس القواعد الديناميكية وقواعد الجلسة، يتم تجميع القواعد الثابتة وتثبيتها وتعديلها عند تثبيت إضافة أو ترقيتها. يتم تخزينها في ملفات قواعد بتنسيق JSON، ويتم الإشارة إليها في الإضافة باستخدام المفتاحَين "declarative_net_request" و"rule_resources" كما هو موضّح أعلاه، بالإضافة إلى قاموس واحد أو أكثر من Ruleset. يحتوي Ruleset القاموس على مسار إلى ملف القاعدة، ومعرّف لمجموعة القواعد الواردة في الملف، وما إذا كانت مجموعة القواعد مفعّلة أو غير مفعّلة. ويكون آخر عنصرين مهمّين عند تفعيل مجموعة قواعد أو إيقافها برمجيًا.

{
  ...
  "declarative_net_request" : {
    "rule_resources" : [{
      "id": "ruleset_1",
      "enabled": true,
      "path": "rules_1.json"
    },
    ...
    ]
  }
  ...
}

لاختبار ملفات القواعد، حمِّل الإضافة بدون حزم. لا يتم عرض الأخطاء والتحذيرات بشأن القواعد الثابتة غير الصالحة إلا للإضافات غير المضغوطة. يتم تجاهل القواعد الثابتة غير الصالحة في الإضافات المضغوطة.

تفعيل وإيقاف القواعد الثابتة ومجموعات القواعد

يمكن تفعيل أو إيقاف كل من القواعد الثابتة الفردية ومجموعات القواعد الثابتة الكاملة في وقت التشغيل.

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

لأسباب تتعلّق بالأداء، هناك أيضًا حدود لعدد القواعد ومجموعات القواعد التي يمكن تفعيلها في وقت واحد. اتّصِل بالرقم getAvailableStaticRuleCount() للاطّلاع على عدد القواعد الإضافية التي يمكن تفعيلها. للحصول على معلومات حول الحدود القصوى للقواعد، اطّلِع على الحدود القصوى للقواعد.

لتفعيل القواعد الثابتة أو إيقافها، اتّصِل بالرقم updateStaticRules(). يأخذ هذا الإجراء عنصر UpdateStaticRulesOptions يحتوي على مصفوفات من معرّفات القواعد التي سيتم تفعيلها أو إيقافها. يتم تحديد أرقام التعريف باستخدام المفتاح "id" في قاموس Ruleset.

لتفعيل مجموعات القواعد الثابتة أو إيقافها، استخدِم الدالة updateEnabledRulesets(). يأخذ هذا الإجراء عنصر UpdateRulesetOptions يحتوي على مصفوفات من معرّفات مجموعات القواعد التي سيتم تفعيلها أو إيقافها. يتم تحديد أرقام التعريف باستخدام المفتاح "id" في قاموس Ruleset.

إنشاء القواعد

بغض النظر عن النوع، تبدأ القاعدة بأربعة حقول كما هو موضّح أدناه. في حين أنّ المفتاحين "id" و"priority" يقبلان رقمًا، قد يوفّر المفتاحان "action" و"condition" عدة شروط للحظر وإعادة التوجيه. تحظر القاعدة التالية جميع طلبات النصوص البرمجية الواردة من "foo.com" إلى أي عنوان URL يتضمّن "abc" كسلسلة فرعية.

{
  "id" : 1,
  "priority": 1,
  "action" : { "type" : "block" },
  "condition" : {
    "urlFilter" : "abc",
    "initiatorDomains" : ["foo.com"],
    "resourceTypes" : ["script"]
  }
}

الأحرف المطابقة في urlFilter

يسمح مفتاح "condition" في القاعدة باستخدام مفتاح "urlFilter" لتنفيذ إجراءات على عناوين URL ضمن نطاق محدّد. يمكنك إنشاء أنماط باستخدام رموز مطابقة الأنماط. وفي ما يلي بعض الأمثلة.

urlFilter أعواد ثقاب لا يطابق
"abc" https://abcd.com
https://example.com/abcd
https://ab.com
"abc*d" https://abcd.com
https://example.com/abcxyzd
https://abc.com
"||a.example.com" https://a.example.com/
https://b.a.example.com/xyz
https://example.com/
"|https*" https://example.com http://example.com/
http://https.com
"example*^123|" https://example.com/123
http://abc.com/example?123
https://example.com/1234
https://abc.com/example0123

تحديد أولوية القواعد

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

  1. يتم تحديد الأولوية للقواعد ضِمن إحدى الإضافات.
  2. إذا كان بإمكان أكثر من إضافة تطبيق قاعدة على طلب، يتم تحديد الأولوية لجميع الإضافات التي تتطابق مع طلب معيّن.

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

تحديد أولوية القواعد ضمن إحدى الإضافات

ضمن إضافة واحدة، يتم تحديد الأولوية باستخدام العملية التالية:

  1. يتم عرض القاعدة ذات الأولوية الأعلى التي يحدّدها المطوّر (أي الحقل "priority").
  2. إذا كانت هناك أكثر من قاعدة واحدة لها الأولوية القصوى التي يحدّدها المطوّر، يتم تحديد أولوية القواعد باستخدام الحقل "action"، بالترتيب التالي:

    1. allow
    2. allowAllRequests
    3. block
    4. upgradeScheme
    5. redirect
  3. إذا لم يكن نوع الإجراء block أو redirect، يتم تقييم أي قواعد modifyHeaders مطابقة. يُرجى العِلم أنّه في حال توفّر أي قواعد بأولوية يحدّدها المطوّر أقل من الأولوية المحدّدة لـ allow وallowAllRequests، سيتم تجاهل هذه القواعد.

  4. إذا عدّلت قواعد متعددة العنوان نفسه، يتم تحديد التعديل من خلال الحقل "priority" الذي يحدّده المطوّر ومن خلال العمليات المحدّدة.

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

تحديد أولوية القواعد بين الإضافات

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

  1. يتم تحديد أولوية القواعد باستخدام الحقل "action"، بالترتيب التالي:

    1. block
    2. redirect أو upgradeScheme
    3. allow أو allowAllRequests
  2. إذا تطابقت أكثر من قاعدة واحدة، تكون الأولوية للإضافة التي تم تثبيتها مؤخرًا.

حدود القواعد

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

القواعد الثابتة

القواعد الثابتة هي تلك المحدّدة في ملفات القواعد المُعرَّفة في ملف البيان. يمكن أن تحدّد الإضافة ما يصل إلى 50 مجموعة قواعد ثابتة كجزء من مفتاح البيان "rule_resources"، ولكن يمكن تفعيل 10 مجموعات قواعد فقط في المرة الواحدة. يُطلق على هذا الأخير اسم MAX_NUMBER_OF_ENABLED_STATIC_RULESETS. ويتم ضمان توفّر 30,000 قاعدة على الأقل في مجموعات القواعد هذه. يُطلق على ذلك اسم GUARANTEED_MINIMUM_STATIC_RULES.

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

القواعد الديناميكية وقواعد الجلسة

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

القواعد التي تستخدم التعبيرات العادية

يمكن أن تستخدم جميع أنواع القواعد التعبيرات العادية، ولكن لا يمكن أن يتجاوز إجمالي عدد قواعد التعبيرات العادية من كل نوع 1, 000 قاعدة. يُطلق على هذا الحدّ اسم MAX_NUMBER_OF_REGEX_RULES.

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

rules_1.json: Rule with id 1 specified a more complex regex than allowed
as part of the "regexFilter" key.

التفاعلات مع عاملي الخدمة

لا ينطبق طلب declarativeNetRequest إلا على الطلبات التي تصل إلى حزمة الشبكة. ويشمل ذلك الردود من ذاكرة التخزين المؤقت HTTP، ولكن قد لا يشمل الردود التي تمر عبر معالج onfetch في عامل الخدمة. لن تؤثّر declarativeNetRequest في الردود التي ينشئها عامل الخدمة أو يتم استرجاعها من CacheStorage، ولكنّها ستؤثّر في طلبات fetch() التي يتم إجراؤها في عامل الخدمة.

المراجع التي يمكن الوصول إليها على الويب

لا يمكن لقاعدة declarativeNetRequest إعادة التوجيه من طلب مورد عام إلى مورد لا يمكن الوصول إليه على الويب. سيؤدي ذلك إلى ظهور خطأ. وينطبق ذلك حتى إذا كانت الإضافة التي تتم إعادة التوجيه منها تملك المورد المحدّد المتاح على الويب. للإعلان عن الموارد في declarativeNetRequest، استخدِم مصفوفة "web_accessible_resources" في ملف البيان.

أمثلة

أمثلة على الرموز البرمجية

تعديل القواعد الديناميكية

يوضّح المثال التالي كيفية استدعاء updateDynamicRules(). ويكون الإجراء نفسه في ما يخصّ updateSessionRules().

// Get arrays containing new and old rules
const newRules = await getNewRules();
const oldRules = await chrome.declarativeNetRequest.getDynamicRules();
const oldRuleIds = oldRules.map(rule => rule.id);

// Use the arrays to update the dynamic rules
await chrome.declarativeNetRequest.updateDynamicRules({
  removeRuleIds: oldRuleIds,
  addRules: newRules
});

تعديل مجموعات القواعد الثابتة

يوضّح المثال التالي كيفية تفعيل مجموعات القواعد وإيقافها مع مراعاة عدد مجموعات القواعد الثابتة المتاحة والحد الأقصى لعدد مجموعات القواعد الثابتة المفعّلة. يتم اتّخاذ هذا الإجراء عندما يتجاوز عدد القواعد الثابتة التي تحتاج إليها العدد المسموح به. لكي يعمل ذلك، يجب تثبيت بعض مجموعات القواعد مع إيقاف بعضها (ضبط "Enabled" على false في ملف البيان).

async function updateStaticRules(enableRulesetIds, disableCandidateIds) {
  // Create the options structure for the call to updateEnabledRulesets()
  let options = { enableRulesetIds: enableRulesetIds }
  // Get the number of enabled static rules
  const enabledStaticCount = await chrome.declarativeNetRequest.getEnabledRulesets();
  // Compare rule counts to determine if anything needs to be disabled so that
  // new rules can be enabled
  const proposedCount = enableRulesetIds.length;
  if (enabledStaticCount + proposedCount > chrome.declarativeNetRequest.MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) {
    options.disableRulesetIds = disableCandidateIds
  }
  // Update the enabled static rules
  await chrome.declarativeNetRequest.updateEnabledRulesets(options);
}

أمثلة على القواعد

توضّح الأمثلة أدناه كيف يحدّد Chrome أولويات القواعد في إحدى الإضافات. عند مراجعتها، قد تحتاج إلى فتح قواعد تحديد الأولويات في نافذة منفصلة.

المفتاح "الأولوية"

تتطلّب هذه الأمثلة إذن المضيف للوصول إلى *://*.example.com/*.

لتحديد أولوية عنوان URL معيّن، اطّلِع على المفتاح "priority" (الذي يحدّده المطوّر) والمفتاح "action" والمفتاح "urlFilter". تشير هذه الأمثلة إلى ملف قواعد المثال الموضّح أدناه.

الانتقال إلى https://google.com
تغطي قاعدتان عنوان URL هذا: القاعدتان اللتان تحملان المعرّفين 1 و4. تنطبق القاعدة التي تحمل المعرّف 1 لأنّ الإجراءات "block" لها أولوية أعلى من الإجراءات "redirect". لا تنطبق القواعد المتبقية لأنّها مخصّصة لعناوين URL أطول.
الانتقال إلى https://google.com/1234
بسبب عنوان URL الأطول، تتطابق القاعدة التي تحمل المعرّف 2 الآن بالإضافة إلى القواعد التي تحمل المعرّفين 1 و4. يتم تطبيق القاعدة التي تحمل رقم التعريف 2 لأنّ "allow" لها أولوية أعلى من "block" و"redirect".
الانتقال إلى https://google.com/12345
تتطابق القواعد الأربع مع عنوان URL هذا. تنطبق القاعدة التي تحمل المعرّف 3 لأنّ الأولوية التي حدّدها المطوّر هي الأعلى في المجموعة.
[
  {
    "id": 1,
    "priority": 1,
    "action": { "type": "block" },
    "condition": {"urlFilter": "google.com", "resourceTypes": ["main_frame"] }
  },
  {
    "id": 2,
    "priority": 1,
    "action": { "type": "allow" },
    "condition": { "urlFilter": "google.com/123", "resourceTypes": ["main_frame"] }
  },
  {
    "id": 3,
    "priority": 2,
    "action": { "type": "block" },
    "condition": { "urlFilter": "google.com/12345", "resourceTypes": ["main_frame"] }
  },
  {
    "id": 4,
    "priority": 1,
    "action": { "type": "redirect", "redirect": { "url": "https://example.com" } },
    "condition": { "urlFilter": "google.com", "resourceTypes": ["main_frame"] }
  },
]

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

يتطلّب المثال أدناه إذن المضيف من أجل *://*.example.com/*.

يوضّح المثال التالي كيفية إعادة توجيه طلب من example.com إلى صفحة ضمن الإضافة نفسها. يتم تحويل مسار الإضافة /a.jpg إلى chrome-extension://EXTENSION_ID/a.jpg، حيث يمثّل EXTENSION_ID معرّف الإضافة. لكي يعمل هذا الإجراء، يجب أن يحدّد البيان /a.jpg على أنّه مورد يمكن الوصول إليه على الويب.

{
  "id": 1,
  "priority": 1,
  "action": { "type": "redirect", "redirect": { "extensionPath": "/a.jpg" } },
  "condition": {
    "urlFilter": "https://www.example.com",
    "resourceTypes": ["main_frame"]
  }
}

يستخدم المثال التالي المفتاح "transform" لإعادة التوجيه إلى نطاق فرعي من example.com. ويستخدم مرساة اسم النطاق ("||") لاعتراض الطلبات التي تتضمّن أي مخطط من example.com. يحدّد المفتاح "scheme" في "transform" أنّ عمليات إعادة التوجيه إلى النطاق الفرعي ستستخدم دائمًا "https".

{
  "id": 1,
  "priority": 1,
  "action": {
    "type": "redirect",
    "redirect": {
      "transform": { "scheme": "https", "host": "new.example.com" }
    }
  },
  "condition": {
    "urlFilter": "||example.com",
    "resourceTypes": ["main_frame"]
  }
}

يستخدِم المثال التالي التعبيرات العادية لإعادة التوجيه من https://www.abc.xyz.com/path إلى https://abc.xyz.com/path. في المفتاح "regexFilter"، لاحظ كيف يتم تجاهل النقطة وكيف تختار مجموعة الالتقاط إما "abc" أو "def". يحدّد المفتاح "regexSubstitution" أول تطابق تم إرجاعه للتعبير العادي باستخدام "\1". في هذه الحالة، يتم استخراج "abc" من عنوان URL الذي تمت إعادة توجيهه ووضعه في الاستبدال.

{
  "id": 1,
  "priority": 1,
  "action": {
    "type": "redirect",
    "redirect": {
      "regexSubstitution": "https://\\1.xyz.com/"
    }
  },
  "condition": {
    "regexFilter": "^https://www\\.(abc|def)\\.xyz\\.com/",
    "resourceTypes": [
      "main_frame"
    ]
  }
}

العناوين

يزيل المثال التالي جميع ملفات تعريف الارتباط من الإطار الرئيسي وأي إطارات فرعية.

{
  "id": 1,
  "priority": 1,
  "action": {
    "type": "modifyHeaders",
    "requestHeaders": [{ "header": "cookie", "operation": "remove" }]
  },
  "condition": { "resourceTypes": ["main_frame", "sub_frame"] }
}

الأنواع

DomainType

تصف هذه السمة ما إذا كان الطلب تابعًا للطرف الأول أو الطرف الثالث في الإطار الذي نشأ فيه. يُقال إنّ الطلب هو طلب من الطرف الأول إذا كان له النطاق نفسه (eTLD+1) مثل الإطار الذي نشأ فيه الطلب.

تعداد

"firstParty"
طلب الشبكة هو طرف أول في الإطار الذي نشأ فيه.

"thirdParty"
طلب الشبكة تابع لجهة خارجية بالنسبة إلى الإطار الذي نشأ فيه.

ExtensionActionOptions

الإصدار 88 من Chrome والإصدارات الأحدث

الخصائص

  • displayActionCountAsBadgeText

    boolean اختياري

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

  • tabUpdate

    TabActionCountUpdate اختياري

    الإصدار 89 من Chrome والإصدارات الأحدث

    تفاصيل حول كيفية تعديل عدد الإجراءات في علامة التبويب

GetDisabledRuleIdsOptions

الإصدار 111 من Chrome والإصدارات الأحدث

الخصائص

  • rulesetId

    سلسلة

    المعرّف الذي يتوافق مع Ruleset ثابت

GetRulesFilter

الإصدار 111 من Chrome والإصدارات الأحدث

الخصائص

  • ruleIds

    number[] اختيارية

    في حال تحديدها، يتم تضمين القواعد التي تتضمّن أرقام تعريف مطابقة فقط.

HeaderInfo

الإصدار 128 من Chrome والإصدارات الأحدث

الخصائص

  • excludedValues

    string[] اختياري

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

  • header

    سلسلة

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

  • values

    string[] اختياري

    في حال تحديدها، تتطابق هذه الحالة إذا كانت قيمة العنوان تتطابق مع نمط واحد على الأقل في هذه القائمة. يتيح ذلك مطابقة قيم العناوين غير الحساسة لحالة الأحرف بالإضافة إلى البُنى التالية:

    ‫"*" : تتطابق مع أي عدد من الأحرف.

    علامة الاستفهام (؟) : تطابق صفر أو حرفًا واحدًا أو أكثر.

    يمكن إلغاء تأثير الرمزين "*" و"؟" باستخدام شرطة مائلة عكسية، مثل "\*" و"\؟"

HeaderOperation

الإصدار 86 من Chrome والإصدارات الأحدث

يصف ذلك العمليات المحتملة لقاعدة "modifyHeaders".

تعداد

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

"set"
تضبط هذه السمة قيمة جديدة للعنوان المحدّد، وتزيل أي عناوين حالية تحمل الاسم نفسه.

"remove"
تؤدي إلى إزالة جميع الإدخالات للعنوان المحدّد.

IsRegexSupportedResult

Chrome 87 والإصدارات الأحدث

الخصائص

  • isSupported

    قيمة منطقية

  • السبب

    UnsupportedRegexReason اختيارية

    تحدّد هذه السمة سبب عدم توفّر التعبير العادي. يتم توفيرها فقط إذا كانت قيمة isSupported هي "خطأ".

MatchedRule

الخصائص

  • ruleId

    الرقم

    معرّف قاعدة مطابقة

  • rulesetId

    سلسلة

    تمثّل هذه السمة رقم تعريف Ruleset الذي تنتمي إليه هذه القاعدة. بالنسبة إلى قاعدة مصدرها مجموعة القواعد الديناميكية، ستكون هذه القيمة مساوية DYNAMIC_RULESET_ID.

MatchedRuleInfo

الخصائص

  • قاعدة
  • tabId

    الرقم

    تمثّل هذه السمة رقم تعريف علامة التبويب التي نشأ منها الطلب إذا كانت علامة التبويب لا تزال نشطة. بخلاف ذلك، تكون القيمة -1.

  • timeStamp

    الرقم

    الوقت الذي تمت فيه مطابقة القاعدة ستتطابق الطوابع الزمنية مع اصطلاح JavaScript للأوقات، أي عدد المللي ثانية منذ بداية الفترة.

MatchedRuleInfoDebug

الخصائص

  • تفاصيل حول الطلب الذي تمت مطابقة القاعدة معه

  • قاعدة

MatchedRulesFilter

الخصائص

  • minTimeStamp

    number اختياري

    في حال تحديد هذا الحقل، لن يتم تطبيق القواعد إلا بعد الطابع الزمني المحدّد.

  • tabId

    number اختياري

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

ModifyHeaderInfo

الإصدار 86 من Chrome والإصدارات الأحدث

الخصائص

  • header

    سلسلة

    اسم العنوان المطلوب تعديله.

  • العملية

    العملية التي سيتم تنفيذها على العنوان

  • القيمة

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

    القيمة الجديدة للعنوان يجب تحديدها لعمليات append وset.

QueryKeyValue

الخصائص

  • مفتاح

    سلسلة

  • replaceOnly

    boolean اختياري

    ‫Chrome 94 أو إصدار أحدث

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

  • القيمة

    سلسلة

QueryTransform

الخصائص

  • addOrReplaceParams

    QueryKeyValue[] اختياري

    قائمة أزواج المفاتيح والقيم الخاصة بطلب البحث التي سيتمّ إضافتها أو استبدالها

  • removeParams

    string[] اختياري

    قائمة مفاتيح طلب البحث المطلوب إزالتها.

Redirect

الخصائص

  • extensionPath

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

    المسار النسبي إلى دليل الإضافة يجب أن يبدأ بعلامة "/".

  • regexSubstitution

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

    نمط الاستبدال للقواعد التي تحدّد regexFilter. سيتم استبدال أول تطابق لـ regexFilter ضمن عنوان URL بهذا النمط. في regexSubstitution، يمكن استخدام الأرقام التي تمّت إزالة تنسيقها باستخدام الشرطة المائلة الخلفية (\1 إلى \9) لإدراج مجموعات الالتقاط المقابلة. يشير \0 إلى النص المطابق بالكامل.

  • تحويل

    URLTransform اختياري

    عمليات تحويل عناوين URL المطلوب تنفيذها.

  • url

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

    تمثّل هذه السمة عنوان URL لإعادة التوجيه. لا يُسمح بعمليات إعادة التوجيه إلى عناوين URL لرموز JavaScript.

RegexOptions

Chrome 87 والإصدارات الأحدث

الخصائص

  • isCaseSensitive

    boolean اختياري

    تحديد ما إذا كان regex المحدّد حسّاسًا لحالة الأحرف القيمة التلقائية هي true.

  • تعبير عادي

    سلسلة

    التعبير العادي المطلوب التحقّق منه

  • requireCapturing

    boolean اختياري

    تُستخدَم لتحديد ما إذا كان يجب تسجيل regex المحدّد. لا يكون التسجيل مطلوبًا إلا لقواعد إعادة التوجيه التي تحدّد إجراء regexSubstition. القيمة التلقائية هي false.

RequestDetails

الخصائص

  • documentId

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

    Chrome 106 والإصدارات الأحدث

    المعرّف الفريد لمستند الإطار، إذا كان هذا الطلب مخصّصًا لإطار

  • documentLifecycle

    ‫DocumentLifecycle اختياري

    Chrome 106 والإصدارات الأحدث

    تمثّل هذه السمة دورة حياة مستند الإطار، إذا كان هذا الطلب مخصّصًا لإطار.

  • frameId

    الرقم

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

  • frameType

    FrameType اختياري

    Chrome 106 والإصدارات الأحدث

    تمثّل هذه السمة نوع الإطار، إذا كان هذا الطلب مخصّصًا لإطار.

  • المستخدم

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

    المصدر الذي بدأ منه الطلب ولا يتغيّر ذلك من خلال عمليات إعادة التوجيه. إذا كان هذا المصدر غير شفاف، سيتم استخدام السلسلة "null".

  • method

    سلسلة

    طريقة HTTP عادية

  • parentDocumentId

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

    Chrome 106 والإصدارات الأحدث

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

  • parentFrameId

    الرقم

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

  • requestId

    سلسلة

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

  • tabId

    الرقم

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

  • النوع

    تمثّل هذه السمة نوع المورد المطلوب.

  • url

    سلسلة

    تمثّل هذه السمة عنوان URL الخاص بالطلب.

RequestMethod

الإصدار 91 من Chrome أو إصدار أحدث

توضّح هذه السمة طريقة طلب HTTP لطلب الشبكة.

تعداد

"connect"

"delete"

"get"

"head"

"options"

"patch"

"post"

"put"

"other"

ResourceType

يصف هذا الحقل نوع المورد لطلب الشبكة.

تعداد

"main_frame"

"sub_frame"

"stylesheet"

"script"

"image"

"font"

"object"

"xmlhttprequest"

"ping"

"csp_report"

"media"

"websocket"

"webtransport"

"webbundle"

"other"

Rule

الخصائص

  • إجراء

    الإجراء الذي يجب اتّخاذه في حال تطابق هذه القاعدة.

  • الشرط

    الشرط الذي يتم بموجبه تفعيل هذه القاعدة

  • id

    الرقم

    معرّف يحدّد قاعدة بشكلٍ فريد. هذه السمة إلزامية ويجب أن تكون قيمتها أكبر من أو تساوي 1.

  • الحملة

    number اختياري

    أولوية القاعدة القيمة التلقائية هي 1. عند تحديدها، يجب أن تكون القيمة أكبر من أو تساوي 1.

RuleAction

الخصائص

  • إعادة توجيه

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

  • requestHeaders

    ModifyHeaderInfo[] اختيارية

    الإصدار 86 من Chrome والإصدارات الأحدث

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

  • responseHeaders

    ModifyHeaderInfo[] اختيارية

    الإصدار 86 من Chrome والإصدارات الأحدث

    عناوين الاستجابة التي سيتم تعديلها للطلب تكون صالحة فقط إذا كانت قيمة RuleActionType هي "modifyHeaders".

  • النوع

    نوع الإجراء المطلوب تنفيذه.

RuleActionType

توضّح هذه السمة نوع الإجراء الذي يجب اتّخاذه في حال تطابق RuleCondition معيّن.

تعداد

"حظر"
لحظر طلب الشبكة

"إعادة التوجيه"
إعادة توجيه طلب الشبكة

"allow"
يسمح بطلب الشبكة. لن يتم اعتراض الطلب إذا كانت هناك قاعدة سماح تطابقه.

"upgradeScheme"
ترقية نظام عناوين URL لطلبات الشبكة إلى https إذا كان الطلب http أو ftp

"modifyHeaders"
تعديل عناوين الطلبات/الردود من طلب الشبكة

allowAllRequests"
السماح بجميع الطلبات ضمن التسلسل الهرمي للإطارات، بما في ذلك طلب الإطار نفسه

RuleCondition

الخصائص

  • domainType

    DomainType اختياري

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

  • النطاقات

    string[] اختياري

    تم إيقافها نهائيًا منذ الإصدار 101 من Chrome

    استخدِم initiatorDomains بدلاً من ذلك

    لن تتطابق القاعدة إلا مع طلبات الشبكة الواردة من قائمة domains.

  • excludedDomains

    string[] اختياري

    تم إيقافها نهائيًا منذ الإصدار 101 من Chrome

    استخدِم excludedInitiatorDomains بدلاً من ذلك

    لن تتطابق القاعدة مع طلبات الشبكة الواردة من قائمة excludedDomains.

  • excludedInitiatorDomains

    string[] اختياري

    الإصدار 101 من Chrome والإصدارات الأحدث

    لن تتطابق القاعدة مع طلبات الشبكة الواردة من قائمة excludedInitiatorDomains. إذا كانت القائمة فارغة أو تم حذفها، لن يتم استبعاد أي نطاقات. ويكون لهذا الإعداد الأولوية على initiatorDomains.

    ملاحظات:

    • يُسمح أيضًا بالنطاقات الفرعية، مثل "a.example.com".
    • يجب أن تتألف الإدخالات من أحرف ASCII فقط.
    • استخدِم ترميز punycode للنطاقات الدولية.
    • تتم المطابقة مع الجهة التي بدأت الطلب وليس مع عنوان URL الخاص بالطلب.
    • يتم أيضًا استبعاد النطاقات الفرعية للنطاقات المُدرَجة.
  • excludedRequestDomains

    string[] اختياري

    الإصدار 101 من Chrome والإصدارات الأحدث

    لن تتطابق القاعدة مع طلبات الشبكة عندما تتطابق النطاقات مع أحد النطاقات الواردة في قائمة excludedRequestDomains. إذا كانت القائمة فارغة أو تم حذفها، لن يتم استبعاد أي نطاقات. ويكون لهذا الإعداد الأولوية على requestDomains.

    ملاحظات:

    • يُسمح أيضًا بالنطاقات الفرعية، مثل "a.example.com".
    • يجب أن تتألف الإدخالات من أحرف ASCII فقط.
    • استخدِم ترميز punycode للنطاقات الدولية.
    • يتم أيضًا استبعاد النطاقات الفرعية للنطاقات المُدرَجة.
  • excludedRequestMethods

    RequestMethod[] اختيارية

    الإصدار 91 من Chrome أو إصدار أحدث

    قائمة بطُرق الطلبات التي لن تتطابق مع القاعدة يجب تحديد سمة واحدة فقط من requestMethods وexcludedRequestMethods. في حال عدم تحديد أيّ منهما، تتم مطابقة جميع طرق الطلبات.

  • excludedResourceTypes

    ‫ResourceType[] اختيارية

    قائمة بأنواع الموارد التي لن تتطابق مع القاعدة يجب تحديد سمة واحدة فقط من resourceTypes وexcludedResourceTypes. في حال عدم تحديد أيّ منهما، يتم حظر جميع أنواع الموارد باستثناء "main_frame".

  • excludedResponseHeaders

    HeaderInfo[] اختيارية

    الإصدار 128 من Chrome والإصدارات الأحدث

    لا تتطابق القاعدة إذا كان الطلب يتطابق مع أي شرط من شروط عناوين الاستجابة في هذه القائمة (في حال تحديده). في حال تحديد كل من excludedResponseHeaders وresponseHeaders، ستكون الأولوية للسمة excludedResponseHeaders.

  • excludedTabIds

    number[] اختيارية

    Chrome 92 والإصدارات الأحدث

    قائمة tabs.Tab.id التي يجب ألا تتطابق مع القاعدة. يستبعد المعرّف tabs.TAB_ID_NONE الطلبات التي لا تأتي من علامة تبويب. لا تتوفّر هذه الميزة إلا للقواعد التي تنطبق على مستوى الجلسة.

  • excludedTopDomains

    string[] اختياري

    الإصدار 145 من Chrome والإصدارات الأحدث

    لن تتطابق القاعدة مع طلبات الشبكة عندما يتطابق نطاق الإطار ذي المستوى الأعلى المرتبط مع أحد النطاقات من قائمة excludedTopDomains. إذا كانت القائمة فارغة أو تم حذفها، لن يتم استبعاد أي نطاقات. ويكون لهذا الإعداد الأولوية على topDomains.

    ملاحظات:

    • يُسمح أيضًا بالنطاقات الفرعية، مثل "a.example.com".
    • يجب أن تتألف الإدخالات من أحرف ASCII فقط.
    • استخدِم ترميز punycode للنطاقات الدولية.
    • يتم أيضًا استبعاد النطاقات الفرعية للنطاقات المُدرَجة.
    • بالنسبة إلى الطلبات التي لا تتضمّن إطارًا مرتبطًا بالمستوى الأعلى (مثل الطلبات التي بدأتها ServiceWorker)، يتم بدلاً من ذلك أخذ نطاق الجهة التي بدأت الطلب في الاعتبار.
  • initiatorDomains

    string[] اختياري

    الإصدار 101 من Chrome والإصدارات الأحدث

    لن تتطابق القاعدة إلا مع طلبات الشبكة الواردة من قائمة initiatorDomains. في حال حذف القائمة، يتم تطبيق القاعدة على الطلبات الواردة من جميع النطاقات. لا يُسمح بقائمة فارغة.

    ملاحظات:

    • يُسمح أيضًا بالنطاقات الفرعية، مثل "a.example.com".
    • يجب أن تتألف الإدخالات من أحرف ASCII فقط.
    • استخدِم ترميز punycode للنطاقات الدولية.
    • تتم المطابقة مع الجهة التي بدأت الطلب وليس مع عنوان URL الخاص بالطلب.
    • تتم أيضًا مطابقة النطاقات الفرعية للنطاقات المُدرَجة.
  • isUrlFilterCaseSensitive

    boolean اختياري

    تحدّد هذه السمة ما إذا كانت السمة urlFilter أو regexFilter (أيهما تم تحديده) حساسة لحالة الأحرف. القيمة التلقائية هي false.

  • regexFilter

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

    تعبير عادي تتم مطابقته مع عنوان URL لطلب الشبكة. ويتبع ذلك بنية RE2.

    ملاحظة: يمكن تحديد إحدى السمتين urlFilter أو regexFilter فقط.

    ملاحظة: يجب أن يتألف regexFilter من أحرف ASCII فقط. تتم مطابقة هذا النمط مع عنوان URL تم ترميز المضيف فيه بتنسيق punycode (في حال النطاقات المدولَة) وتم ترميز أي أحرف أخرى غير ASCII بتنسيق عنوان URL في utf-8.

  • requestDomains

    string[] اختياري

    الإصدار 101 من Chrome والإصدارات الأحدث

    لن تتطابق القاعدة إلا مع طلبات الشبكة عندما يتطابق النطاق مع أحد النطاقات من قائمة requestDomains. في حال حذف القائمة، يتم تطبيق القاعدة على الطلبات الواردة من جميع النطاقات. لا يُسمح بقائمة فارغة.

    ملاحظات:

    • يُسمح أيضًا بالنطاقات الفرعية، مثل "a.example.com".
    • يجب أن تتألف الإدخالات من أحرف ASCII فقط.
    • استخدِم ترميز punycode للنطاقات الدولية.
    • تتم أيضًا مطابقة النطاقات الفرعية للنطاقات المُدرَجة.
  • requestMethods

    RequestMethod[] اختيارية

    الإصدار 91 من Chrome أو إصدار أحدث

    قائمة بطُرق طلب HTTP التي يمكن أن تتطابق مع القاعدة. لا يُسمح بقائمة فارغة.

    ملاحظة: سيؤدي تحديد شرط قاعدة requestMethods أيضًا إلى استبعاد الطلبات غير المستندة إلى HTTP(s)، بينما لن يؤدي تحديد excludedRequestMethods إلى ذلك.

  • resourceTypes

    ‫ResourceType[] اختيارية

    قائمة بأنواع الموارد التي يمكن أن تتطابق مع القاعدة. لا يُسمح بقائمة فارغة.

    ملاحظة: يجب تحديد ذلك لقواعد allowAllRequests، ويمكن أن يشمل ذلك نوعَي الموارد sub_frame وmain_frame فقط.

  • responseHeaders

    HeaderInfo[] اختيارية

    الإصدار 128 من Chrome والإصدارات الأحدث

    تكون القاعدة مطابِقة إذا كان الطلب يطابق أي شرط من شروط عناوين الاستجابة في هذه القائمة (في حال تحديده).

  • tabIds

    number[] اختيارية

    Chrome 92 والإصدارات الأحدث

    قائمة tabs.Tab.id التي يجب أن تتطابق مع القاعدة. يتطابق المعرّف tabs.TAB_ID_NONE مع الطلبات التي لا تأتي من علامة تبويب. لا يُسمح بقائمة فارغة. لا تتوفّر هذه الميزة إلا للقواعد التي تنطبق على مستوى الجلسة.

  • topDomains

    string[] اختياري

    الإصدار 145 من Chrome والإصدارات الأحدث

    لن تتطابق القاعدة مع طلبات الشبكة إلا عندما يتطابق نطاق الإطار ذي المستوى الأعلى المرتبط مع أحد النطاقات من قائمة topDomains. في حال حذف القائمة، يتم تطبيق القاعدة على الطلبات المرتبطة بجميع نطاقات الإطارات ذات المستوى الأعلى. لا يُسمح بقائمة فارغة.

    ملاحظات:

    • يُسمح أيضًا بالنطاقات الفرعية، مثل "a.example.com".
    • يجب أن تتألف الإدخالات من أحرف ASCII فقط.
    • استخدِم ترميز punycode للنطاقات الدولية.
    • تتم أيضًا مطابقة النطاقات الفرعية للنطاقات المُدرَجة.
    • بالنسبة إلى الطلبات التي لا تتضمّن إطارًا مرتبطًا بالمستوى الأعلى (مثل الطلبات التي بدأتها ServiceWorker)، يتم بدلاً من ذلك أخذ نطاق الجهة التي بدأت الطلب في الاعتبار.
  • urlFilter

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

    النمط الذي تتم مطابقته مع عنوان URL لطلب الشبكة. التركيبات المتوافقة:

    ‎'*'‎ : حرف بدل: يتطابق مع أي عدد من الأحرف.

    '|' : نقطة الربط اليمنى/اليسرى: إذا تم استخدامها في أيّ من طرفَي النمط، تحدّد بداية/نهاية عنوان URL على التوالي.

    ‎'||' : أداة الربط باسم النطاق: إذا تم استخدامها في بداية النمط، تحدّد بداية نطاق (فرعي) لعنوان URL.

    '^' : حرف فاصل: يتطابق مع أي شيء باستثناء حرف أو رقم أو أحد الرموز التالية: _ أو - أو . أو %. يتطابق هذا أيضًا مع نهاية عنوان URL.

    لذلك، يتكوّن urlFilter من الأجزاء التالية: (الرابط الثابت الاختياري لليسار أو اسم النطاق) + النمط + (الرابط الثابت الاختياري لليمين).

    في حال عدم تحديدها، تتم مطابقة جميع عناوين URL. لا يُسمح باستخدام سلسلة فارغة.

    لا يُسمح بنمط يبدأ بـ ||*. يمكنك استخدام * كبديل.

    ملاحظة: يمكن تحديد إحدى السمتين urlFilter أو regexFilter فقط.

    ملاحظة: يجب أن يتألف urlFilter من أحرف ASCII فقط. تتم مطابقة هذا النمط مع عنوان URL تم ترميز المضيف فيه بتنسيق punycode (في حال النطاقات المدولَة) وتم ترميز أي أحرف أخرى غير ASCII بتنسيق عنوان URL في utf-8. على سبيل المثال، عندما يكون عنوان URL للطلب هو http://abc.рф?q=ф، ستتم مطابقة urlFilter مع عنوان URL http://abc.xn--p1ai/?q=%D1%84.

RuleConditionKeys

الإصدار 145 من Chrome والإصدارات الأحدث

تعداد

"urlFilter"

"regexFilter"

"isUrlFilterCaseSensitive"

"initiatorDomains"

"excludedInitiatorDomains"

"requestDomains"

"excludedRequestDomains"

"topDomains"

"excludedTopDomains"

"domains"

"excludedDomains"

"resourceTypes"

"excludedResourceTypes"

"requestMethods"

"excludedRequestMethods"

"domainType"

"tabIds"

"excludedTabIds"

"responseHeaders"

"excludedResponseHeaders"

Ruleset

الخصائص

  • مفعّلة

    قيمة منطقية

    تُستخدَم لتحديد ما إذا كانت مجموعة القواعد مفعّلة تلقائيًا.

  • id

    سلسلة

    سلسلة غير فارغة تحدّد مجموعة القواعد بشكلٍ فريد. تكون أرقام التعريف التي تبدأ بشرطة سفلية "_" محجوزة للاستخدام الداخلي.

  • المسار

    سلسلة

    مسار مجموعة قواعد JSON بالنسبة إلى دليل الإضافة

RulesMatchedDetails

الخصائص

  • rulesMatchedInfo

    القواعد التي تتطابق مع الفلتر المحدّد

TabActionCountUpdate

الإصدار 89 من Chrome والإصدارات الأحدث

الخصائص

  • زيادة

    الرقم

    مقدار الزيادة في عدد إجراءات علامة التبويب. ستؤدي القيم السالبة إلى إنقاص العدد.

  • tabId

    الرقم

    علامة التبويب التي سيتم تعديل عدد الإجراءات فيها

TestMatchOutcomeResult

الإصدار 103 من Chrome والإصدارات الأحدث

الخصائص

  • matchedRules

    القواعد (إن وُجدت) التي تتطابق مع الطلب الافتراضي

TestMatchRequestDetails

الإصدار 103 من Chrome والإصدارات الأحدث

الخصائص

  • المستخدم

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

    عنوان URL الخاص بالمشغِّل (إن وُجد) للطلب الافتراضي

  • method

    ‫RequestMethod اختياري

    طريقة HTTP العادية للطلب الافتراضي القيمة التلقائية هي "get" لطلبات HTTP، ويتم تجاهلها للطلبات غير HTTP.

  • responseHeaders

    كائن اختياري

    ‫Chrome 129 والإصدارات الأحدث

    العناوين المقدَّمة من خلال استجابة افتراضية في حال عدم حظر الطلب أو إعادة توجيهه قبل إرساله يتم تمثيله كعنصر يربط اسم عنوان بقائمة من قيم السلسلة. في حال عدم تحديدها، ستعرض الاستجابة الافتراضية عناوين استجابة فارغة، والتي يمكن أن تتطابق مع القواعد التي تتطابق مع عدم توفّر العناوين. مثلاً {"content-type": ["text/html; charset=utf-8", "multipart/form-data"]}

  • tabId

    number اختياري

    رقم تعريف علامة التبويب التي يتم فيها تنفيذ الطلب الافتراضي لا يجب أن يتطابق مع معرّف علامة تبويب حقيقي. القيمة التلقائية هي -1، ما يعني أنّ الطلب غير مرتبط بعلامة تبويب.

  • topUrl

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

    الإصدار 145 من Chrome والإصدارات الأحدث

    عنوان URL لإطار المستوى الأعلى المرتبط بالطلب (إن وُجد).

  • النوع

    نوع المورد للطلب الافتراضي.

  • url

    سلسلة

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

UnsupportedRegexReason

Chrome 87 والإصدارات الأحدث

توضّح هذه السمة سبب عدم إتاحة استخدام تعبير عادي معيّن.

تعداد

"syntaxError"
التعبير العادي غير صحيح من الناحية التركيبية أو يستخدم ميزات غير متوفّرة في بنية RE2.

‫"memoryLimitExceeded"
يتجاوز التعبير العادي الحدّ الأقصى للذاكرة.

UpdateRuleOptions

Chrome 87 والإصدارات الأحدث

الخصائص

  • addRules

    القاعدة[] اختيارية

    القواعد المطلوب إضافتها

  • removeRuleIds

    number[] اختيارية

    أرقام تعريف القواعد التي ستتم إزالتها وسيتم تجاهل أي أرقام تعريف غير صالحة.

UpdateRulesetOptions

Chrome 87 والإصدارات الأحدث

الخصائص

  • disableRulesetIds

    string[] اختياري

    مجموعة المعرّفات التي تتوافق مع Ruleset ثابت يجب إيقافه.

  • enableRulesetIds

    string[] اختياري

    مجموعة المعرّفات المرتبطة Ruleset ثابت يجب تفعيله

UpdateStaticRulesOptions

الإصدار 111 من Chrome والإصدارات الأحدث

الخصائص

  • disableRuleIds

    number[] اختيارية

    مجموعة من أرقام التعريف التي تتوافق مع القواعد في Ruleset المطلوب إيقافها

  • enableRuleIds

    number[] اختيارية

    مجموعة أرقام التعريف التي تتوافق مع القواعد في Ruleset المطلوب تفعيلها

  • rulesetId

    سلسلة

    المعرّف الذي يتوافق مع Ruleset ثابت

URLTransform

الخصائص

  • جزء

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

    الجزء الجديد للطلب يجب أن يكون هذا الحقل فارغًا، وفي هذه الحالة تتم إزالة الجزء الحالي، أو يجب أن يبدأ بعلامة "#".

  • مضيف

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

    المضيف الجديد للطلب

  • كلمة المرور

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

    كلمة المرور الجديدة للطلب

  • المسار

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

    المسار الجديد للطلب إذا كان فارغًا، يتم محو المسار الحالي.

  • المنفذ

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

    المنفذ الجديد للطلب إذا كان الحقل فارغًا، يتم محو المنفذ الحالي.

  • query

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

    طلب البحث الجديد للطلب يجب أن يكون فارغًا، وفي هذه الحالة تتم إزالة طلب البحث الحالي، أو يجب أن يبدأ بعلامة "؟".

  • queryTransform

    ‫QueryTransform اختياري

    إضافة أزواج المفاتيح والقيم الخاصة بطلب البحث أو إزالتها أو استبدالها

  • المخطط

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

    المخطط الجديد للطلب القيم المسموح بها هي "http" و"https" و"ftp" و "chrome-extension".

  • اسم المستخدم

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

    اسم المستخدم الجديد للطلب.

الخصائص

DYNAMIC_RULESET_ID

رقم تعريف مجموعة القواعد للقواعد الديناميكية التي أضافتها الإضافة

القيمة

"_dynamic"

GETMATCHEDRULES_QUOTA_INTERVAL

الفاصل الزمني الذي يمكن خلاله إجراء مكالمات MAX_GETMATCHEDRULES_CALLS_PER_INTERVAL getMatchedRules، ويتم تحديده بالدقائق ستتعذّر المكالمات الإضافية على الفور وسيتم ضبط runtime.lastError. ملاحظة: يتم استثناء طلبات getMatchedRules المرتبطة بإجراء تفاعلي من المستخدم من الحصة.

القيمة

10

GUARANTEED_MINIMUM_STATIC_RULES

الإصدار 89 من Chrome والإصدارات الأحدث

الحد الأدنى لعدد القواعد الثابتة المضمونة لإحدى الإضافات على مستوى مجموعات القواعد الثابتة المفعَّلة سيتم احتساب أي قواعد تتجاوز هذا الحدّ ضمن الحدّ الأقصى للقواعد الثابتة على مستوى العالم.

القيمة

30000

MAX_GETMATCHEDRULES_CALLS_PER_INTERVAL

عدد المرات التي يمكن فيها استدعاء getMatchedRules خلال فترة GETMATCHEDRULES_QUOTA_INTERVAL

القيمة

‫20

MAX_NUMBER_OF_DYNAMIC_RULES

الحد الأقصى لعدد القواعد الديناميكية التي يمكن أن تضيفها إحدى الإضافات

القيمة

30000

MAX_NUMBER_OF_ENABLED_STATIC_RULESETS

‫Chrome 94 أو إصدار أحدث

الحد الأقصى لعدد Rulesets الثابتة التي يمكن أن يفعّلها أحد الإضافات في أي وقت

القيمة

‫50

MAX_NUMBER_OF_REGEX_RULES

الحد الأقصى لعدد قواعد التعبيرات العادية التي يمكن أن تضيفها إحدى الإضافات يتم تقييم هذا الحدّ بشكل منفصل لمجموعة القواعد الديناميكية والقواعد المحدّدة في ملف موارد القواعد.

القيمة

‫1000

MAX_NUMBER_OF_SESSION_RULES

الإصدار 120 من Chrome والإصدارات الأحدث

الحد الأقصى لعدد القواعد التي يمكن أن تضيفها إضافة والتي تكون على مستوى الجلسة.

القيمة

5000

MAX_NUMBER_OF_STATIC_RULESETS

الحد الأقصى لعدد Rulesets الثابت الذي يمكن أن يحدّده أحد الإضافات كجزء من مفتاح بيان "rule_resources"

القيمة

‫100

MAX_NUMBER_OF_UNSAFE_DYNAMIC_RULES

الإصدار 120 من Chrome والإصدارات الأحدث

الحد الأقصى لعدد القواعد الديناميكية "غير الآمنة" التي يمكن أن تضيفها إحدى الإضافات

القيمة

5000

MAX_NUMBER_OF_UNSAFE_SESSION_RULES

الإصدار 120 من Chrome والإصدارات الأحدث

الحد الأقصى لعدد القواعد "غير الآمنة" على مستوى الجلسة التي يمكن أن تضيفها الإضافة

القيمة

5000

SESSION_RULESET_ID

الإصدار 90 من Chrome والإصدارات الأحدث

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

القيمة

"_session"

الطُرق

getAvailableStaticRuleCount()

Promise Chrome 89 والإصدارات الأحدث
chrome.declarativeNetRequest.getAvailableStaticRuleCount(
  callback?: function,
)
: Promise<number>

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

المعلمات

  • callback

    الدالة اختيارية

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

    (count: number) => void

    • العدد

      الرقم

المرتجعات

  • Promise<number>

    الإصدار 91 من Chrome أو إصدار أحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.

getDisabledRuleIds()

Promise Chrome 111 والإصدارات الأحدث
chrome.declarativeNetRequest.getDisabledRuleIds(
  options: GetDisabledRuleIdsOptions,
  callback?: function,
)
: Promise<number[]>

تعرض هذه الطريقة قائمة بالقواعد الثابتة في Ruleset المحدّد التي تكون غير مفعّلة حاليًا.

المعلمات

  • الخيارات

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

  • callback

    الدالة اختيارية

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

    (disabledRuleIds: number[]) => void

    • disabledRuleIds

      number[]

المرتجعات

  • Promise<number[]>

    وعد يتم تنفيذه باستخدام قائمة أرقام التعريف التي تتوافق مع القواعد غير المفعّلة في مجموعة القواعد هذه.

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.

getDynamicRules()

وعد
chrome.declarativeNetRequest.getDynamicRules(
  filter?: GetRulesFilter,
  callback?: function,
)
: Promise<Rule[]>

تعرض هذه السمة المجموعة الحالية من القواعد الديناميكية للإضافة. يمكن للمتصلين فلترة قائمة القواعد التي تم استرجاعها بشكل اختياري من خلال تحديد filter.

المعلمات

  • تصفية

    GetRulesFilter اختياري

    الإصدار 111 من Chrome والإصدارات الأحدث

    عنصر لفلترة قائمة القواعد التي تم استرجاعها

  • callback

    الدالة اختيارية

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

    (rules: Rule[]) => void

المرتجعات

  • Promise<Rule[]>

    الإصدار 91 من Chrome أو إصدار أحدث

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

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.

getEnabledRulesets()

وعد
chrome.declarativeNetRequest.getEnabledRulesets(
  callback?: function,
)
: Promise<string[]>

تعرِض هذه السمة أرقام التعريف لمجموعة قواعد التحليل الثابت المفعَّلة الحالية.

المعلمات

  • callback

    الدالة اختيارية

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

    (rulesetIds: string[]) => void

    • rulesetIds

      string[]

المرتجعات

  • Promise<string[]>

    الإصدار 91 من Chrome أو إصدار أحدث

    وعد يتم تنفيذه مع قائمة بمعرّفات، حيث يتوافق كل معرّف مع Ruleset ثابت مفعَّل.

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.

getMatchedRules()

وعد
chrome.declarativeNetRequest.getMatchedRules(
  filter?: MatchedRulesFilter,
  callback?: function,
)
: Promise<RulesMatchedDetails>

تعرِض هذه الطريقة جميع القواعد المطابِقة للإضافة. يمكن للمتصلين فلترة قائمة القواعد المطابقة بشكل اختياري من خلال تحديد filter. لا تتوفّر هذه الطريقة إلا للإضافات التي لديها إذن "declarativeNetRequestFeedback" أو التي تم منحها إذن "activeTab" لـ tabId المحدّد في filter. ملاحظة: لن يتم عرض القواعد التي لم يتم ربطها بمستند نشط والتي تم العثور على تطابق لها قبل أكثر من خمس دقائق.

المعلمات

  • تصفية

    ‫MatchedRulesFilter اختياري

    عنصر لفلترة قائمة القواعد المطابِقة

  • callback

    الدالة اختيارية

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

    (details: RulesMatchedDetails) => void

المرتجعات

  • الإصدار 91 من Chrome أو إصدار أحدث

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

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.

getSessionRules()

Promise Chrome 90+
chrome.declarativeNetRequest.getSessionRules(
  filter?: GetRulesFilter,
  callback?: function,
)
: Promise<Rule[]>

تعرض هذه السمة المجموعة الحالية من القواعد التي تنطبق على مستوى الجلسة للإضافة. يمكن للمتصلين فلترة قائمة القواعد التي تم استرجاعها بشكل اختياري من خلال تحديد filter.

المعلمات

  • تصفية

    GetRulesFilter اختياري

    الإصدار 111 من Chrome والإصدارات الأحدث

    عنصر لفلترة قائمة القواعد التي تم استرجاعها

  • callback

    الدالة اختيارية

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

    (rules: Rule[]) => void

المرتجعات

  • Promise<Rule[]>

    الإصدار 91 من Chrome أو إصدار أحدث

    وعد يتم تنفيذه مع مجموعة القواعد التي تنطبق على الجلسة.

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.

isRegexSupported()

Promise الإصدار 87 من Chrome أو الإصدارات الأحدث
chrome.declarativeNetRequest.isRegexSupported(
  regexOptions: RegexOptions,
  callback?: function,
)
: Promise<IsRegexSupportedResult>

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

المعلمات

المرتجعات

  • الإصدار 91 من Chrome أو إصدار أحدث

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

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.

setExtensionActionOptions()

Promise Chrome 88 والإصدارات الأحدث
chrome.declarativeNetRequest.setExtensionActionOptions(
  options: ExtensionActionOptions,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    الإصدار 89 من Chrome والإصدارات الأحدث

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

    () => void

المرتجعات

  • Promise<void>

    الإصدار 91 من Chrome أو إصدار أحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.

testMatchOutcome()

Promise Chrome 103 أو إصدار أحدث
chrome.declarativeNetRequest.testMatchOutcome(
  request: TestMatchRequestDetails,
  callback?: function,
)
: Promise<TestMatchOutcomeResult>

تتحقّق هذه الطريقة ممّا إذا كانت أيّ من قواعد declarativeNetRequest الخاصة بالإضافة ستتطابق مع طلب افتراضي. ملاحظة: لا تتوفّر هذه الميزة إلا للإضافات غير المضغوطة، لأنّها مخصّصة للاستخدام أثناء تطوير الإضافات فقط.

المعلمات

المرتجعات

  • وعد يتم تنفيذه مع تفاصيل القواعد المطابقة.

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.

updateDynamicRules()

وعد
chrome.declarativeNetRequest.updateDynamicRules(
  options: UpdateRuleOptions,
  callback?: function,
)
: Promise<void>

تعدّل هذه السمة المجموعة الحالية من القواعد الديناميكية للإضافة. تتم أولاً إزالة القواعد التي تتضمّن المعرّفات المُدرَجة في options.removeRuleIds، ثم تتم إضافة القواعد الواردة في options.addRules. ملاحظات:

  • يتم إجراء هذا التعديل كعملية ذرية واحدة: إما أن تتم إضافة جميع القواعد المحدّدة وإزالتها، أو يتم عرض خطأ.
  • يتم الاحتفاظ بهذه القواعد في جميع جلسات المتصفّح وجميع تحديثات الإضافة.
  • لا يمكن إزالة القواعد الثابتة المحدّدة كجزء من حزمة الإضافة باستخدام هذه الدالة.
  • MAX_NUMBER_OF_DYNAMIC_RULES هو الحد الأقصى لعدد القواعد الديناميكية التي يمكن أن تضيفها إحدى الإضافات. يجب ألا يتجاوز عدد القواعد غير الآمنة MAX_NUMBER_OF_UNSAFE_DYNAMIC_RULES.

المعلمات

  • الخيارات
    Chrome 87 والإصدارات الأحدث
  • callback

    الدالة اختيارية

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

    () => void

المرتجعات

  • Promise<void>

    الإصدار 91 من Chrome أو إصدار أحدث

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

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.

updateEnabledRulesets()

وعد
chrome.declarativeNetRequest.updateEnabledRulesets(
  options: UpdateRulesetOptions,
  callback?: function,
)
: Promise<void>

تعدِّل هذه السمة مجموعة قواعد البيانات الثابتة المفعَّلة للإضافة. تتم أولاً إزالة مجموعات القواعد التي تتضمّن المعرّفات المُدرَجة في options.disableRulesetIds، ثم تتم إضافة مجموعات القواعد المُدرَجة في options.enableRulesetIds. يُرجى العِلم أنّه يتم الاحتفاظ بمجموعة قواعد البيانات الثابتة المفعَّلة على مستوى الجلسات، ولكن ليس على مستوى تحديثات الإضافة، أي أنّ مفتاح البيان rule_resources سيحدّد مجموعة قواعد البيانات الثابتة المفعَّلة في كل تحديث للإضافة.

المعلمات

  • الخيارات
    Chrome 87 والإصدارات الأحدث
  • callback

    الدالة اختيارية

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

    () => void

المرتجعات

  • Promise<void>

    الإصدار 91 من Chrome أو إصدار أحدث

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

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.

updateSessionRules()

Promise Chrome 90+
chrome.declarativeNetRequest.updateSessionRules(
  options: UpdateRuleOptions,
  callback?: function,
)
: Promise<void>

تعدّل هذه السمة المجموعة الحالية من القواعد التي تنطبق على الجلسة للإضافة. تتم أولاً إزالة القواعد التي تتضمّن المعرّفات المُدرَجة في options.removeRuleIds، ثم تتم إضافة القواعد الواردة في options.addRules. ملاحظات:

  • يتم إجراء هذا التعديل كعملية ذرية واحدة: إما أن تتم إضافة جميع القواعد المحدّدة وإزالتها، أو يتم عرض خطأ.
  • لا يتم الاحتفاظ بهذه القواعد بين الجلسات ويتم تخزينها في الذاكرة.
  • MAX_NUMBER_OF_SESSION_RULES هو الحدّ الأقصى لعدد قواعد الجلسات التي يمكن أن تضيفها إحدى الإضافات.

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

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

    () => void

المرتجعات

  • Promise<void>

    الإصدار 91 من Chrome أو إصدار أحدث

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

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.

updateStaticRules()

Promise Chrome 111 والإصدارات الأحدث
chrome.declarativeNetRequest.updateStaticRules(
  options: UpdateStaticRulesOptions,
  callback?: function,
)
: Promise<void>

يؤدي هذا الإجراء إلى إيقاف وتفعيل قواعد ثابتة فردية في Ruleset. سيتم تطبيق التغييرات على القواعد التابعة Ruleset غير مفعَّل في المرة التالية التي يتم فيها تفعيله.

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.

الفعاليات

onRuleMatchedDebug

chrome.declarativeNetRequest.onRuleMatchedDebug.addListener(
  callback: function,
)

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

المعلمات