תאריך הרענון: 2026-09-25 robots: noindex
תיאור
ה-API chrome.declarativeNetRequest משמש לחסימה או לשינוי של בקשות רשת על ידי ציון כללים הצהרתיים. כך התוספים יכולים לשנות את בקשות הרשת בלי ליירט אותן ולראות את התוכן שלהן, וכך לשמור על הפרטיות.
הרשאות
declarativeNetRequestdeclarativeNetRequestWithHostAccessdeclarativeNetRequestFeedbackhost_permissions
זמינות
מניפסט
בנוסף להרשאות שמתוארות למעלה, בסוגים מסוימים של ערכות כללים, ובאופן ספציפי בערכות כללים סטטיות, צריך להצהיר על "declarative_net_request" מפתח המניפסט, שצריך להיות מילון עם מפתח יחיד בשם "rule_resources". המפתח הזה הוא מערך שמכיל מילונים מהסוג Ruleset, כמו שמוצג בהמשך. (שימו לב: השם 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/*"
],
...
}
מושגים ושימוש
כדי להשתמש ב-API הזה, צריך לציין לפחות קבוצת כללים אחת. ערכת כללים מכילה מערך של כללים. כל כלל מבצע אחת מהפעולות הבאות:
- חסימה של בקשה לאחזור מהרשת.
- שדרוג הסכימה (מ-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.
כדי להפעיל או להשבית rulesets סטטיים, קוראים ל-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 |
תעדוף כללים
הכללים מופעלים על ידי בקשות שנשלחות מדפי אינטרנט. אם כמה כללים תואמים לבקשה מסוימת, צריך לתת עדיפות לכללים. בקטע הזה מוסבר איך מתבצעת התעדוף שלהן. סדר העדיפויות נקבע בשני שלבים.
- העדיפות נקבעת לכללים בתוך תוסף.
- אם יותר מתוסף אחד יכול להחיל כלל על בקשה, המערכת קובעת עדיפות לכל התוספים שתואמים לבקשה מסוימת.
ההתאמה מתבצעת כך: הכלל שתוסף מסוים נותן לו עדיפות, יקבל עדיפות גם ביחס לכללים מתוספים אחרים.
קביעת עדיפות של כללים בתוסף
בתוך תוסף יחיד, סדר העדיפות נקבע באמצעות התהליך הבא:
- הכלל עם העדיפות הגבוהה ביותר שהוגדרה על ידי המפתח (במילים אחרות, השדה
"priority") מוחזר. אם יש יותר מכלל אחד עם העדיפות הכי גבוהה שהוגדרה על ידי המפתח, הכללים מקבלים עדיפות לפי השדה
"action", בסדר הבא:allowallowAllRequestsblockupgradeSchemeredirect
אם סוג הפעולה הוא לא
blockאוredirect, כל כלליmodifyHeadersהתואמים נבדקים. חשוב לדעת שאם יש כללים עם עדיפות שהוגדרה על ידי מפתח והיא נמוכה מהעדיפות שצוינה עבורallowו-allowAllRequests, המערכת מתעלמת מהכללים האלה.אם כמה כללים משנים את אותו כותר, השינוי נקבע לפי השדה
"priority"שהוגדר על ידי המפתח ולפי הפעולות שצוינו.- אם כלל מסוים מוסיף ערך לכותרת, כללים בעדיפות נמוכה יותר יכולים רק להוסיף ערך לאותה כותרת. אסור לבצע פעולות של הגדרה והסרה.
- אם כלל מגדיר כותרת, כללים עם עדיפות נמוכה יותר יכולים רק להוסיף לכותרת הזו. אסור לבצע שינויים אחרים.
- אם כלל מסיר כותרת, כללים בעדיפות נמוכה יותר לא יכולים לשנות את הכותרת.
קביעת עדיפות בין כללים של תוספים
אם רק לתוסף אחד יש כלל שתואם לבקשה, הכלל הזה יחול. אבל אם יותר מהרחבה אחת תואמת לבקשה, התהליך הבא יתבצע:
הכללים מקבלים עדיפות באמצעות השדה
"action", לפי הסדר הבא:blockredirectאוupgradeSchemeallowאוallowAllRequests
אם יש יותר מכלל אחד שתואם, התוסף שהותקן לאחרונה מקבל עדיפות.
מגבלות על כללים
יש עלויות ביצועים שקשורות לטעינה ולהערכה של כללים בדפדפן, ולכן יש מגבלות מסוימות כשמשתמשים ב-API. המגבלות משתנות בהתאם לסוג הכלל שבו אתם משתמשים.
כללים סטטיים
כללים סטטיים הם כללים שמוגדרים בקובצי כללים שהוצהרו בקובץ המניפסט. תוסף יכול לציין עד 50 ערכות כללים סטטיות כחלק ממפתח המניפסט "rule_resources", אבל אפשר להפעיל רק 10 מערכות כללים כאלה בכל פעם. האחרון נקרא MAX_NUMBER_OF_ENABLED_STATIC_RULESETS. יחד, מובטחות לפחות 30,000 כללים בערכות הכללים האלה. הפעולה הזו נקראת GUARANTEED_MINIMUM_STATIC_RULES.
מספר הכללים שיהיו זמינים לאחר מכן תלוי במספר הכללים שמופעלים על ידי כל התוספים שמותקנים בדפדפן של המשתמש. אפשר למצוא את המספר הזה בזמן הריצה על ידי קריאה ל-getAvailableStaticRuleCount(). דוגמה לכך מופיעה בקטע דוגמאות קוד.
כללים דינמיים וכללים למודעות בזמן פעילות באפליקציה
המגבלות שחלות על כללים דינמיים וכללים של סשן פשוטות יותר מאלה שחלות על כללים סטטיים. המספר הכולל של שניהם לא יכול להיות יותר מ-5,000. הפעולה הזו נקראת MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES.
כללים שמשתמשים בביטוי רגולרי (regex)
אפשר להשתמש בביטויים רגולריים בכל סוגי הכללים, אבל המספר הכולל של כללי regex מכל סוג לא יכול להיות יותר מ-1,000. המספר הזה נקרא MAX_NUMBER_OF_REGEX_RULES.
בנוסף, כל כלל צריך להיות קטן מ-2KB אחרי ההידור. יש קשר בין ההגדרה הזו לבין מורכבות הכלל. אם תנסו לטעון כלל שחורג מהמגבלה הזו, תוצג אזהרה כמו זו שבהמשך והמערכת תתעלם מהכלל.
rules_1.json: Rule with id 1 specified a more complex regex than allowed
as part of the "regexFilter" key.
אינטראקציות עם Service Workers
השימוש ב-declarativeNetRequest מוגבל לבקשות שמגיעות ל-network stack. התגובות האלה כוללות תגובות ממטמון ה-HTTP, אבל יכול להיות שהן לא כוללות תגובות שעוברות דרך ה-handler של onfetch ב-service worker. declarativeNetRequest לא ישפיע על תגובות שנוצרו על ידי ה-service worker או שאוחזרו מ-CacheStorage, אבל הוא ישפיע על קריאות ל-fetch() שבוצעו ב-service worker.
משאבים שאפשר לגשת אליהם באינטרנט
כלל 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 מתעדף כללים בתוסף. כשבודקים את הכללים, כדאי לפתוח את כללי התעדוף בחלון נפרד.
המפתח 'priority'
בדוגמאות האלה נדרשת הרשאת מארח ל-*://*.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"
]
}
}
כותרות
בדוגמה הבאה מוסרים כל קובצי ה-Cookie מפריים ראשי ומכל פריים משני.
{
"id": 1,
"priority": 1,
"action": {
"type": "modifyHeaders",
"requestHeaders": [{ "header": "cookie", "operation": "remove" }]
},
"condition": { "resourceTypes": ["main_frame", "sub_frame"] }
}
סוגים
DomainType
השדה הזה מתאר אם הבקשה היא של צד ראשון או של צד שלישי ביחס לפריים שממנו היא נשלחה. בקשה נחשבת כבקשה מצד ראשון אם יש לה את אותו הדומיין (eTLD+1) כמו לפריים שממנו הבקשה נשלחה.
ספירה
firstParty
בקשת אחזור מהרשת היא צד ראשון לפריים שבו היא נוצרה.
thirdParty
בקשה לאחזור מהרשת היא של צד שלישי ביחס למסגרת שממנה היא נשלחה.
ExtensionActionOptions
מאפיינים
-
displayActionCountAsBadgeText
boolean אופציונלי
האם להציג באופן אוטומטי את מספר הפעולות בדף כטקסט התג של התוסף. ההעדפה הזו נשמרת בין סשנים.
-
tabUpdate
TabActionCountUpdate אופציונלי
Chrome 89 ואילךפרטים על האופן שבו צריך לשנות את מספר הפעולות בכרטיסייה.
GetDisabledRuleIdsOptions
מאפיינים
-
rulesetId
מחרוזת
המזהה שמתאים ל-
Rulesetסטטי.
GetRulesFilter
מאפיינים
-
ruleIds
number[] אופציונלי
אם מציינים מזהה, נכללים רק כללים עם מזהים תואמים.
HeaderInfo
מאפיינים
-
excludedValues
string[] אופציונלי
אם מציינים את התנאי הזה, לא תתבצע התאמה אם הכותרת קיימת אבל הערך שלה מכיל לפחות רכיב אחד ברשימה הזו. התחביר של תבנית ההתאמה זהה לזה של
values. -
כותרת
מחרוזת
שם הכותרת. התנאי הזה מתאים לשם רק אם לא צוינו
valuesוגם לאexcludedValues. -
ערכים
string[] אופציונלי
אם מציינים את התנאי הזה, הוא מתקיים אם הערך של הכותרת תואם לפחות לתבנית אחת ברשימה הזו. הוא תומך בהתאמה של ערכי כותרות ללא הבחנה בין אותיות רישיות לרגילות, וגם במבנים הבאים:
'*' : התאמה לכל מספר של תווים.
'?' : מתאים לאפס או לתו אחד.
אפשר להוסיף לתווים '*' ו-'?' קו נטוי הפוך כדי לבטל את המשמעות שלהם, למשל '\*' ו-'\?'.
HeaderOperation
כאן מפורטות הפעולות האפשריות לכלל מסוג modifyHeaders.
ספירה
append
מוסיף רשומה חדשה לכותרת שצוינה. כשמשנים את הכותרות של בקשה, הפעולה הזו נתמכת רק עבור כותרות ספציפיות.
"set"
מגדיר ערך חדש לכותרת שצוינה, ומסיר כותרות קיימות עם אותו שם.
"remove"
מסיר את כל הערכים של הכותרת שצוינה.
IsRegexSupportedResult
מאפיינים
-
isSupported
בוליאני
-
reason
UnsupportedRegexReason אופציונלי
מציינת את הסיבה לכך שהביטוי הרגולרי לא אפשרי. הערך הזה מסופק רק אם
isSupportedהוא False.
MatchedRule
מאפיינים
-
ruleId
number
מזהה של כלל תואם.
-
rulesetId
מחרוזת
המזהה של
Rulesetשהכלל הזה שייך אליו. אם הכלל נוצר מתוך קבוצת הכללים הדינמיים, הערך יהיהDYNAMIC_RULESET_ID.
MatchedRuleInfo
מאפיינים
-
כלל
-
tabId
number
מזהה הכרטיסייה שממנה נשלחה הבקשה, אם הכרטיסייה עדיין פעילה. Else -1.
-
timeStamp
number
השעה שבה הייתה התאמה לכלל. חותמות הזמן יתאימו למוסכמה של JavaScript לגבי זמנים, כלומר מספר אלפיות השנייה מאז ראשית הזמן.
MatchedRuleInfoDebug
מאפיינים
-
בקשה
פרטים על הבקשה שהכלל התאים לה.
-
כלל
MatchedRulesFilter
מאפיינים
-
minTimeStamp
מספר אופציונלי
אם מצוין, רק כללים שתואמים אחרי חותמת הזמן שצוינה.
-
tabId
מספר אופציונלי
אם מציינים כרטיסייה, רק כללים שמתאימים לכרטיסייה הזו יופעלו. אם הערך הוא -1, הכלל יתאים לכרטיסיות שלא משויכות לכלל פעיל.
ModifyHeaderInfo
מאפיינים
-
כותרת
מחרוזת
שם הכותרת שרוצים לשנות.
-
פעולה
הפעולה שתתבצע בכותרת.
-
ערך
מחרוזת אופציונלי
הערך החדש של הכותרת. חובה לציין את הערך הזה בפעולות
appendו-set.
QueryKeyValue
מאפיינים
-
מקש
מחרוזת
-
replaceOnly
boolean אופציונלי
Chrome 94 ואילךאם הערך הוא True, מפתח השאילתה מוחלף רק אם הוא כבר קיים. אחרת, המפתח יתווסף גם אם הוא חסר. ברירת המחדל היא false.
-
ערך
מחרוזת
QueryTransform
מאפיינים
-
addOrReplaceParams
QueryKeyValue[] optional
רשימת צמדי מפתח/ערך של שאילתות שצריך להוסיף או להחליף.
-
removeParams
string[] אופציונלי
רשימת מפתחות השאילתות שרוצים להסיר.
Redirect
מאפיינים
-
extensionPath
מחרוזת אופציונלי
הנתיב ביחס לספריית התוספים. צריך להתחיל ב-'/'.
-
regexSubstitution
מחרוזת אופציונלי
תבנית החלפה לכללים שבהם מצוין
regexFilter. ההתאמה הראשונה שלregexFilterבכתובת ה-URL תוחלף בתבנית הזו. בתוךregexSubstitution, אפשר להשתמש בספרות עם לוכסן הפוך (\1 עד \9) כדי להוסיף את הקבוצות המתאימות לחילוץ. \0 מתייחס לכל הטקסט התואם. -
ונבצע טרנספורמציה
URLTransform optional
טרנספורמציות של כתובות URL לביצוע.
-
url
מחרוזת אופציונלי
כתובת ה-URL להפניה אוטומטית. אסור להשתמש בהפניות אוטומטיות לכתובות URL של JavaScript.
RegexOptions
מאפיינים
-
isCaseSensitive
boolean אופציונלי
האם הביטוי
regexשצוין תלוי אותיות רישיות (case-sensitive). ברירת המחדל היא true. -
ביטוי רגולרי (regex)
מחרוזת
הביטוי הרגולרי לבדיקה.
-
requireCapturing
boolean אופציונלי
האם צריך לתעד את
regexשצוין. הלכידה נדרשת רק לכללי הפניה אוטומטית שמציינים פעולה מסוגregexSubstition. ערך ברירת המחדל הוא false.
RequestDetails
מאפיינים
-
documentId
מחרוזת אופציונלי
Chrome 106 ואילךהמזהה הייחודי של מסמך המסגרת, אם הבקשה הזו היא למסגרת.
-
documentLifecycle
DocumentLifecycle אופציונלי
Chrome 106 ואילךמחזור החיים של המסמך של המסגרת, אם הבקשה הזו היא עבור מסגרת.
-
frameId
number
הערך 0 מציין שהבקשה מתרחשת בפריים הראשי, וערך חיובי מציין את המזהה של פריים משני שבו מתרחשת הבקשה. אם המסמך של (מסגרת משנה) נטען (
typeהואmain_frameאוsub_frame),frameIdמציין את המזהה של המסגרת הזו, ולא את המזהה של המסגרת החיצונית. מזהי המסגרות הם ייחודיים בתוך כרטיסייה. -
frameType
FrameType אופציונלי
Chrome 106 ואילךסוג הפריים, אם הבקשה הזו היא לגבי פריים.
-
יוזם הפעילות
מחרוזת אופציונלי
המקור שבו נוצרה הבקשה. הערך הזה לא משתנה בהפניות אוטומטיות. אם זהו מקור אטום, המערכת תשתמש במחרוזת 'null'.
-
method
מחרוזת
שיטת HTTP רגילה.
-
parentDocumentId
מחרוזת אופציונלי
Chrome 106 ואילךמזהה ייחודי של מסמך האב של המסגרת, אם הבקשה הזו היא למסגרת ויש לה אב.
-
parentFrameId
number
המזהה של המסגרת שעוטפת את המסגרת ששלחה את הבקשה. הערך הוא -1 אם לא קיים פריים אב.
-
requestId
מחרוזת
מזהה הבקשה. מזהי הבקשות הם ייחודיים בסשן דפדפן.
-
tabId
number
המזהה של הכרטיסייה שבה מתבצעת הבקשה. הערך הוא -1 אם הבקשה לא קשורה לכרטיסייה.
-
סוג
סוג המשאב של הבקשה.
-
url
מחרוזת
כתובת ה-URL של הבקשה.
RequestMethod
המאפיין הזה מתאר את שיטת בקשת ה-HTTP של בקשה לאחזור מהרשת.
ספירה
connect
delete
get
'head'
options
patch
post
'put'
'אחר'
ResourceType
כאן מתואר סוג המשאב של בקשה לאחזור מהרשת.
ספירה
"main_frame"
"sub_frame"
"stylesheet"
"script"
"image"
"font"
'object'
"xmlhttprequest"
'ping'
"csp_report"
'media'
'websocket'
'webtransport'
"webbundle"
'אחר'
Rule
מאפיינים
-
פעולה
הפעולה שתתבצע אם נמצאה התאמה לכלל הזה.
-
תנאי
התנאי שגורם להפעלת הכלל הזה.
-
id [מזהה]
number
מזהה ייחודי של כלל. חובה, והערך צריך להיות >= 1.
-
הקמפיין
מספר אופציונלי
עדיפות הכלל. ברירת המחדל היא 1. אם מציינים ערך, הוא צריך להיות גדול מ-1 או שווה לו.
RuleAction
מאפיינים
-
הפניה לכתובת אתר אחרת
הפניה לכתובת אחרת אופציונלי
מתארים איך צריך לבצע את ההפניה האוטומטית. התנאי הזה תקף רק לכללי הפניה אוטומטית.
-
requestHeaders
ModifyHeaderInfo[] optional
Chrome 86 ואילךכותרות הבקשה שרוצים לשנות בבקשה. הערך תקף רק אם RuleActionType הוא modifyHeaders.
-
responseHeaders
ModifyHeaderInfo[] optional
Chrome 86 ואילךכותרות התגובה שצריך לשנות עבור הבקשה. הערך תקף רק אם RuleActionType הוא modifyHeaders.
-
סוג
סוג הפעולה שרוצים לבצע.
RuleActionType
תיאור של סוג הפעולה שיש לבצע אם יש התאמה ל-RuleCondition מסוים.
ספירה
block
חסימת בקשה לאחזור מהרשת.
redirect
הפניה אוטומטית של בקשה לאחזור מהרשת.
allow
מאשרים את בקשה לאחזור מהרשת. הבקשה לא תיחסם אם יש כלל הרשאה שתואם לה.
"upgradeScheme"
משדרג את הסכימה של כתובת ה-URL של בקשה לאחזור מהרשת ל-HTTPS אם הבקשה היא HTTP או FTP.
"modifyHeaders"
שינוי כותרות של בקשות או תגובות מתוך בקשה לאחזור מהרשת.
allowAllRequests
מאפשר את כל הבקשות בהיררכיית מסגרות, כולל בקשת המסגרת עצמה.
RuleCondition
מאפיינים
-
domainType
DomainType אופציונלי
ההגדרה קובעת אם בקשה לאחזור מהרשת היא צד ראשון או צד שלישי לדומיין שממנו היא הגיעה. אם לא מציינים את האפשרות הזו, כל הבקשות מתקבלות.
-
דומיינים
string[] אופציונלי
הוצא משימוש מאז Chrome 101במקום זאת, אפשר להשתמש ב-
initiatorDomainsהכלל יתאים רק לבקשות לאחזור מהרשת שמקורן ברשימה של
domains. -
excludedDomains
string[] אופציונלי
הוצא משימוש מאז Chrome 101במקום זאת, אפשר להשתמש ב-
excludedInitiatorDomainsהכלל לא יתאים לבקשות לאחזור מהרשת שמגיעות מרשימת
excludedDomains. -
excludedInitiatorDomains
string[] אופציונלי
Chrome 101 ואילךהכלל לא יתאים לבקשות לאחזור מהרשת שמגיעות מרשימת
excludedInitiatorDomains. אם הרשימה ריקה או שמשמיטים אותה, לא מוחרגים דומיינים. ההגדרה הזו מקבלת עדיפות על פניinitiatorDomains.הערות:
- מותרים גם תת-דומיינים כמו 'a.example.com'.
- הערכים חייבים לכלול רק תווי ASCII.
- משתמשים בקידוד Punycode לדומיינים בינלאומיים.
- ההתאמה מתבצעת מול יוזם הבקשה ולא מול כתובת ה-URL של הבקשה.
- גם תת-דומיינים של הדומיינים שמפורטים מוחרגים.
-
excludedRequestDomains
string[] אופציונלי
Chrome 101 ואילךהכלל לא יתאים לבקשות לאחזור מהרשת אם הדומיינים תואמים לאחד מהדומיינים ברשימה של
excludedRequestDomains. אם הרשימה ריקה או שהיא לא מוגדרת, לא מוחרגים דומיינים. ההגדרה הזו מקבלת עדיפות על פניrequestDomains.הערות:
- מותרים גם תת-דומיינים כמו 'a.example.com'.
- הערכים חייבים לכלול רק תווי ASCII.
- משתמשים בקידוד Punycode לדומיינים בינלאומיים.
- גם תת-דומיינים של הדומיינים שמפורטים מוחרגים.
-
excludedRequestMethods
RequestMethod[] אופציונלי
Chrome 91 ואילךרשימה של שיטות בקשה שהכלל לא יתאים להן. צריך לציין רק אחד מהמאפיינים
requestMethodsו-excludedRequestMethods. אם לא מציינים אף אחת מהן, מתבצעת התאמה לכל שיטות הבקשה. -
excludedResourceTypes
ResourceType[] אופציונלי
רשימה של סוגי משאבים שהכלל לא יתאים להם. צריך לציין רק אחד מהמאפיינים
resourceTypesו-excludedResourceTypes. אם לא מציינים אף אחד מהם, כל סוגי המשאבים נחסמים, למעט main_frame. -
excludedResponseHeaders
HeaderInfo[] optional
Chrome 128 ואילךהכלל לא מתאים אם הבקשה תואמת לתנאי כלשהו של כותרת תגובה ברשימה הזו (אם צוין). אם מציינים גם את
excludedResponseHeadersוגם אתresponseHeaders, המאפייןexcludedResponseHeadersמקבל עדיפות. -
excludedTabIds
number[] אופציונלי
Chrome 92 ואילךרשימה של
tabs.Tab.idשהכלל לא אמור להתאים להן. מזהה שלtabs.TAB_ID_NONEלא כולל בקשות שלא נוצרו בכרטיסייה. נתמך רק בכללים ברמת הסשן. -
excludedTopDomains
string[] אופציונלי
Chrome 145 ואילךהכלל לא יתאים לבקשות רשת אם הדומיין של המסגרת המשויכת ברמה העליונה תואם לאחד מהדומיינים ברשימה של
excludedTopDomains. אם הרשימה ריקה או שמשמיטים אותה, לא מוחרגים דומיינים. ההגדרה הזו מקבלת עדיפות על פניtopDomains.הערות:
- מותרים גם תת-דומיינים כמו 'a.example.com'.
- הערכים חייבים לכלול רק תווי ASCII.
- משתמשים בקידוד Punycode לדומיינים בינלאומיים.
- גם תת-דומיינים של הדומיינים שמפורטים מוחרגים.
- בבקשות ללא מסגרת משויכת ברמה העליונה (למשל בקשות שהופעלו על ידי ServiceWorker), הדומיין של יוזם הבקשה נלקח בחשבון במקום זאת.
-
initiatorDomains
string[] אופציונלי
Chrome 101 ואילךהכלל יתאים רק לבקשות לאחזור מהרשת שמקורן ברשימה של
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[] אופציונלי
Chrome 101 ואילךהכלל יתאים רק לבקשות לאחזור מהרשת כשהדומיין תואם לאחד מהדומיינים ברשימה של
requestDomains. אם לא מציינים רשימה, הכלל חל על בקשות מכל הדומיינים. אסור להשתמש ברשימה ריקה.הערות:
- מותרים גם תת-דומיינים כמו 'a.example.com'.
- הערכים חייבים לכלול רק תווי ASCII.
- משתמשים בקידוד Punycode לדומיינים בינלאומיים.
- המערכת תתאים גם תת-דומיינים של הדומיינים שמופיעים ברשימה.
-
requestMethods
RequestMethod[] אופציונלי
Chrome 91 ואילךרשימה של שיטות בקשת HTTP שהכלל יכול להתאים להן. אסור להשתמש ברשימה ריקה.
הערה: אם מציינים תנאי כלל
requestMethods, גם בקשות שאינן HTTP(s) ייכללו בהחרגה, אבל אם מצייניםexcludedRequestMethods, הן לא ייכללו בהחרגה. -
resourceTypes
ResourceType[] אופציונלי
רשימה של סוגי משאבים שהכלל יכול להתאים להם. אסור להשתמש ברשימה ריקה.
הערה: צריך לציין את זה לכללי
allowAllRequests, ואפשר לכלול רק את סוגי המשאביםsub_frameו-main_frame. -
responseHeaders
HeaderInfo[] optional
Chrome 128 ואילךהכלל מתאים אם הבקשה תואמת לתנאי כלשהו של כותרת תגובה ברשימה הזו (אם צוין).
-
tabIds
number[] אופציונלי
Chrome 92 ואילךרשימה של
tabs.Tab.idשהכלל צריך להתאים להן. מזהה שלtabs.TAB_ID_NONEתואם לבקשות שלא מגיעות מכרטיסייה. אסור להשתמש ברשימה ריקה. נתמך רק בכללים ברמת הסשן. -
topDomains
string[] אופציונלי
Chrome 145 ואילךהכלל יתאים רק לבקשות מהרשת כשהדומיין של המסגרת המשויכת ברמה העליונה תואם לאחד מהדומיינים ברשימה של
topDomains. אם הרשימה לא מצוינת, הכלל חל על בקשות שמשויכות לכל הדומיינים של מסגרות ברמה העליונה. אסור להשתמש ברשימה ריקה.הערות:
- מותרים גם תת-דומיינים כמו 'a.example.com'.
- הערכים חייבים לכלול רק תווי ASCII.
- משתמשים בקידוד Punycode לדומיינים בינלאומיים.
- המערכת תתאים גם תת-דומיינים של הדומיינים שמופיעים ברשימה.
- בבקשות ללא מסגרת משויכת ברמה העליונה (למשל בקשות שהופעלו על ידי ServiceWorker), הדומיין של יוזם הבקשה נלקח בחשבון במקום זאת.
-
urlFilter
מחרוזת אופציונלי
התבנית שמושוות לכתובת ה-URL של בקשה לאחזור מהרשת. מבנים נתמכים:
'*' : תו כללי לחיפוש: תואם לכל מספר של תווים.
'|' : עוגן שמאלי/ימני: אם משתמשים בו באחד מהקצוות של התבנית, הוא מציין את ההתחלה/הסוף של כתובת ה-URL בהתאמה.
'||' : עוגן של שם דומיין: אם משתמשים בו בתחילת התבנית, הוא מציין את ההתחלה של (תת-)דומיין של כתובת ה-URL.
'^' : תו מפריד: התו הזה תואם לכל דבר חוץ מאות, ספרה או אחד מהתווים הבאים:
_, -, .או%. ההתאמה הזו מתבצעת גם לסוף כתובת ה-URL.לכן,
urlFilterמורכב מהחלקים הבאים: (עוגן שמאלי/שם דומיין אופציונלי) + תבנית + (עוגן ימני אופציונלי).אם לא מציינים כתובת URL, כל כתובות ה-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
ספירה
"urlFilter"
"regexFilter"
"isUrlFilterCaseSensitive"
'initiatorDomains'
"excludedInitiatorDomains"
requestDomains
"excludedRequestDomains"
'topDomains'
"excludedTopDomains"
domains
"excludedDomains"
"resourceTypes"
"excludedResourceTypes"
requestMethods
"excludedRequestMethods"
"domainType"
tabIds
"excludedTabIds"
"responseHeaders"
"excludedResponseHeaders"
Ruleset
מאפיינים
-
פעיל
בוליאני
האם קבוצת הכללים מופעלת כברירת מחדל.
-
id [מזהה]
מחרוזת
מחרוזת לא ריקה שמזהה באופן ייחודי את קבוצת הכללים. מזהים שמתחילים במקף תחתון ("_") שמורים לשימוש פנימי.
-
נתיב
מחרוזת
הנתיב של קובץ ה-JSON של כללי ה-ruleset ביחס לספריית התוסף.
RulesMatchedDetails
מאפיינים
-
rulesMatchedInfo
כללים שתואמים למסנן שצוין.
TabActionCountUpdate
מאפיינים
-
הוסף
number
הסכום שבו יוגדל מספר הפעולות בכרטיסייה. ערכים שליליים יקטינו את המספר.
-
tabId
number
הכרטיסייה שעבורה רוצים לעדכן את מספר הפעולות.
TestMatchOutcomeResult
מאפיינים
-
matchedRules
הכללים (אם יש) שתואמים לבקשה ההיפותטית.
TestMatchRequestDetails
מאפיינים
-
יוזם הפעילות
מחרוזת אופציונלי
כתובת ה-URL של יוזם הבקשה (אם יש) עבור הבקשה ההיפותטית.
-
method
RequestMethod אופציונלי
ה-method הסטנדרטית של ה-HTTP של הבקשה ההיפותטית. ברירת המחדל היא get לבקשות HTTP, והיא מתעלמת מבקשות שאינן HTTP.
-
responseHeaders
אובייקט אופציונלי
Chrome 129 ואילךהכותרות שמופיעות בתשובה היפותטית אם הבקשה לא נחסמת או מופנית מחדש לפני שהיא נשלחת. מיוצג כאובייקט שממפה שם של כותרת לרשימה של ערכי מחרוזות. אם לא מציינים את הכותרות, התגובה ההיפותטית תחזיר כותרות תגובה ריקות, שיכולות להתאים לכללים שמתאימים לאי-קיום של כותרות. לדוגמה:
{"content-type": ["text/html; charset=utf-8", "multipart/form-data"]} -
tabId
מספר אופציונלי
המזהה של הכרטיסייה שבה מתרחשת הבקשה ההיפותטית. לא צריך להתאים למזהה כרטיסייה אמיתי. ברירת המחדל היא -1, כלומר הבקשה לא קשורה לכרטיסייה.
-
topUrl
מחרוזת אופציונלי
Chrome 145 ואילךכתובת ה-URL של המסגרת המשויכת ברמה העליונה (אם יש כזו) של הבקשה.
-
סוג
סוג המשאב של הבקשה ההיפותטית.
-
url
מחרוזת
כתובת ה-URL של הבקשה ההיפותטית.
UnsupportedRegexReason
תיאור הסיבה שבגללה אין תמיכה בביטוי רגולרי מסוים.
ספירה
"syntaxError"
הביטוי הרגולרי לא תקין מבחינת התחביר, או שהוא משתמש בתכונות שלא זמינות בתחביר RE2.
"memoryLimitExceeded"
הביטוי הרגולרי חורג ממגבלת הזיכרון.
UpdateRuleOptions
מאפיינים
-
addRules
כלל[] אופציונלי
כללים להוספה.
-
removeRuleIds
number[] אופציונלי
מזהים של הכללים שרוצים להסיר. המערכת תתעלם ממזהים לא תקינים.
UpdateRulesetOptions
מאפיינים
UpdateStaticRulesOptions
מאפיינים
URLTransform
מאפיינים
-
מקטע (fragment)
מחרוזת אופציונלי
הקטע החדש של הבקשה. השדה צריך להיות ריק, ואז הקטע הקיים ינוקה, או להתחיל בסימן '#'.
-
מארח
מחרוזת אופציונלי
המארח החדש של הבקשה.
-
סיסמה
מחרוזת אופציונלי
הסיסמה החדשה לבקשה.
-
נתיב
מחרוזת אופציונלי
הנתיב החדש של הבקשה. אם השדה ריק, הנתיב הקיים נמחק.
-
ניוד
מחרוזת אופציונלי
היציאה החדשה של הבקשה. אם השדה ריק, הניוד הקיים מבוטל.
-
שאילתה
מחרוזת אופציונלי
השאילתה החדשה של הבקשה. המחרוזת צריכה להיות ריקה, ואז השאילתה הקיימת תנוקה, או שהיא צריכה להתחיל בסימן '?'.
-
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
המספר המינימלי של כללים סטטיים שמובטח לתוסף בכל מערכי הכללים הסטטיים המופעלים שלו. כל כלל שחורג מהמגבלה הזו ייכלל במגבלת הכללים הסטטיים הגלובלית.
ערך
30000
MAX_GETMATCHEDRULES_CALLS_PER_INTERVAL
מספר הפעמים שאפשר להתקשר אל getMatchedRules בתקופה של GETMATCHEDRULES_QUOTA_INTERVAL.
ערך
20
MAX_NUMBER_OF_DYNAMIC_RULES
המספר המקסימלי של כללים דינמיים שתוסף יכול להוסיף.
ערך
30000
MAX_NUMBER_OF_ENABLED_STATIC_RULESETS
המספר המקסימלי של Rulesets סטטיים שהתוסף יכול להפעיל בכל זמן נתון.
ערך
50
MAX_NUMBER_OF_REGEX_RULES
המספר המקסימלי של כללים בביטוי רגולרי שתוסף יכול להוסיף. המגבלה הזו נבדקת בנפרד עבור קבוצת הכללים הדינמיים ועבור הכללים שצוינו בקובץ משאבי הכללים.
ערך
1000
MAX_NUMBER_OF_SESSION_RULES
המספר המקסימלי של כללים בהיקף סשן שתוסף יכול להוסיף.
ערך
5000
MAX_NUMBER_OF_STATIC_RULESETS
המספר המקסימלי של קבצים סטטיים Rulesets שתוסף יכול לציין כחלק ממפתח המניפסט "rule_resources".
ערך
100
MAX_NUMBER_OF_UNSAFE_DYNAMIC_RULES
המספר המקסימלי של כללים דינמיים 'לא בטוחים' שתוסף יכול להוסיף.
ערך
5000
MAX_NUMBER_OF_UNSAFE_SESSION_RULES
המספר המקסימלי של כללים בהיקף סשן שמוגדרים כ'לא בטוחים' שתוסף יכול להוסיף.
ערך
5000
SESSION_RULESET_ID
מזהה של קבוצת הכללים של הכללים שנוספו על ידי התוסף ברמת הסשן.
ערך
"_session"
Methods
getAvailableStaticRuleCount()
chrome.declarativeNetRequest.getAvailableStaticRuleCount(
callback?: function,
): Promise<number>
הפונקציה מחזירה את מספר הכללים הסטטיים שתוסף יכול להפעיל לפני שמגיעים למגבלת הכללים הסטטיים הגלובלית.
פרמטרים
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(count: number) =& gt;void
-
ספירה
number
-
החזרות
-
Promise<number>
Chrome 91 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getDisabledRuleIds()
chrome.declarativeNetRequest.getDisabledRuleIds(
options: GetDisabledRuleIdsOptions,
callback?: function,
): Promise<number[]>
הפונקציה מחזירה את רשימת הכללים הסטטיים ב-Ruleset הנתון שמושבתים כרגע.
פרמטרים
-
options
מציין את קבוצת הכללים לשאילתה.
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(disabledRuleIds: number[]) =& gt;void
-
disabledRuleIds
number[]
-
החזרות
-
Promise<number[]>
הבטחה שמוחזרת עם רשימה של מזהים שתואמים לכללים שהושבתו בקבוצת הכללים הזו.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getDynamicRules()
chrome.declarativeNetRequest.getDynamicRules(
filter?: GetRulesFilter,
callback?: function,
): Promise<Rule[]>
הפונקציה מחזירה את קבוצת הכללים הדינמיים הנוכחית של התוסף. המתקשרים יכולים לסנן את רשימת הכללים שאוחזרו על ידי ציון filter.
פרמטרים
-
סינון
GetRulesFilter אופציונלי
Chrome 111 ואילךאובייקט לסינון רשימת הכללים שאוחזרו.
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(rules: Rule[]) =& gt;void
-
כללים
כלל[]
-
החזרות
-
Promise<Rule[]>
Chrome 91 ואילךהבטחה שמוחזרת עם קבוצת הכללים הדינמיים. יכול להיות שההבטחה תידחה במקרה של שגיאות פנימיות זמניות.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getEnabledRulesets()
chrome.declarativeNetRequest.getEnabledRulesets(
callback?: function,
): Promise<string[]>
הפונקציה מחזירה את המזהים של קבוצת הכללים הסטטיים המופעלת הנוכחית.
פרמטרים
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(rulesetIds: string[]) =& gt;void
-
rulesetIds
string[]
-
החזרות
-
Promise<string[]>
Chrome 91 ואילךהבטחה שמוחזרת עם רשימה של מזהים, כאשר כל מזהה תואם ל-
Rulesetסטטי מופעל.התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getMatchedRules()
chrome.declarativeNetRequest.getMatchedRules(
filter?: MatchedRulesFilter,
callback?: function,
): Promise<RulesMatchedDetails>
הפונקציה מחזירה את כל הכללים שתואמים לתוסף. המתקשרים יכולים לסנן את רשימת הכללים התואמים על ידי ציון filter. השיטה הזו זמינה רק לתוספים עם הרשאת "declarativeNetRequestFeedback" או עם הרשאת "activeTab" שניתנה ל-tabId שצוין ב-filter. הערה: המערכת לא תחזיר כללים שלא משויכים למסמך פעיל, שהיה להם התאמה לפני יותר מחמש דקות.
פרמטרים
-
סינון
MatchedRulesFilter אופציונלי
אובייקט לסינון רשימת הכללים התואמים.
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(details: RulesMatchedDetails) =& gt;void
-
פרטים
-
החזרות
-
Promise<RulesMatchedDetails>
Chrome 91 ואילךPromise שמוחזר אחרי שליפת רשימת הכללים התואמים. אם תהיה שגיאה, ה-Promise יידחה. יכולות להיות לכך כמה סיבות, למשל: אין לכם הרשאות מספיקות או שחרגתם מהמכסה.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getSessionRules()
chrome.declarativeNetRequest.getSessionRules(
filter?: GetRulesFilter,
callback?: function,
): Promise<Rule[]>
הפונקציה מחזירה את קבוצת הכללים הנוכחית בהיקף הסשן של התוסף. המתקשרים יכולים לסנן את רשימת הכללים שאוחזרו על ידי ציון filter.
פרמטרים
-
סינון
GetRulesFilter אופציונלי
Chrome 111 ואילךאובייקט לסינון רשימת הכללים שאוחזרו.
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(rules: Rule[]) =& gt;void
-
כללים
כלל[]
-
החזרות
-
Promise<Rule[]>
Chrome 91 ואילךאובייקט promise שמוחזר עם קבוצת הכללים ברמת הסשן.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
isRegexSupported()
chrome.declarativeNetRequest.isRegexSupported(
regexOptions: RegexOptions,
callback?: function,
): Promise<IsRegexSupportedResult>
בודק אם הביטוי הרגולרי שצוין ייתמך כתנאי של כלל regexFilter.
פרמטרים
-
regexOptions
הביטוי הרגולרי לבדיקה.
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(result: IsRegexSupportedResult) =& gt;void
-
תוצאה
-
החזרות
-
Promise<IsRegexSupportedResult>
Chrome 91 ואילךהבטחה שמוחזרת עם פרטים שכוללים את השאלה אם הביטוי הרגולרי נתמך, ואם לא, מה הסיבה לכך.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
setExtensionActionOptions()
chrome.declarativeNetRequest.setExtensionActionOptions(
options: ExtensionActionOptions,
callback?: function,
): Promise<void>
ההגדרה הזו קובעת אם מספר הפעולות בכרטיסיות יוצג כטקסט התג של פעולת התוסף, ומספקת דרך להגדלת מספר הפעולות.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
Chrome 89 ואילךהפרמטר
callbackנראה כך:() =& gt;void
החזרות
-
Promise<void>
Chrome 91 ואילךהתמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
testMatchOutcome()
chrome.declarativeNetRequest.testMatchOutcome(
request: TestMatchRequestDetails,
callback?: function,
): Promise<TestMatchOutcomeResult>
הפונקציה בודקת אם כללים של declarativeNetRequest בתוסף יתאימו לבקשה היפותטית. הערה: האפשרות הזו זמינה רק לתוספים לא ארוזים, כי היא מיועדת לשימוש רק במהלך פיתוח התוסף.
פרמטרים
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(result: TestMatchOutcomeResult) =& gt;void
-
תוצאה
-
החזרות
-
Promise<TestMatchOutcomeResult>
הבטחה שמוחזרת עם פרטי הכללים התואמים.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
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.
פרמטרים
-
optionsChrome 87 ואילך
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() =& gt;void
החזרות
-
Promise<void>
Chrome 91 ואילךPromise שמוחזר אחרי שהעדכון מסתיים. במקרה של שגיאה, ההבטחה תידחה ולא יבוצע שינוי בקבוצת הכללים. יכולות להיות לכך כמה סיבות, למשל פורמט כלל לא תקין, מזהה כלל כפול, חריגה ממגבלת מספר הכללים, שגיאות פנימיות ועוד.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
updateEnabledRulesets()
chrome.declarativeNetRequest.updateEnabledRulesets(
options: UpdateRulesetOptions,
callback?: function,
): Promise<void>
הגדרת עדכון של קבוצת הכללים הסטטיים המופעלים עבור התוסף. קודם כל יוסרו קבוצות הכללים עם המזהים שמופיעים ב-options.disableRulesetIds, ואז יתווספו קבוצות הכללים שמופיעות ב-options.enableRulesetIds.
שימו לב: קבוצת כללי ה-ruleset הסטטיים המופעלים נשמרת בין סשנים, אבל לא בין עדכוני תוספים. כלומר, מפתח המניפסט rule_resources יקבע את קבוצת כללי ה-ruleset הסטטיים המופעלים בכל עדכון תוסף.
פרמטרים
-
optionsChrome 87 ואילך
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() =& gt;void
החזרות
-
Promise<void>
Chrome 91 ואילךPromise שמוחזר אחרי שהעדכון מסתיים. במקרה של שגיאה, אובייקט ה-promise יידחה ולא יבוצע שינוי במערכת הכללים המופעלת. יכולות להיות לכך כמה סיבות, למשל: מזהים לא תקינים של קבוצות כללים, חריגה ממגבלת מספר הכללים או שגיאות פנימיות.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
updateSessionRules()
chrome.declarativeNetRequest.updateSessionRules(
options: UpdateRuleOptions,
callback?: function,
): Promise<void>
משנה את קבוצת הכללים הנוכחית בהיקף הסשן של התוסף. הכללים עם המזהים שמופיעים ב-options.removeRuleIds מוסרים קודם, ואז הכללים שמופיעים ב-options.addRules מתווספים. הערות:
- העדכון הזה מתבצע כפעולה אטומית אחת: או שכל הכללים שצוינו מתווספים ומוסרים, או שמוחזרת שגיאה.
- הכללים האלה לא נשמרים בין סשנים והם מגובים בזיכרון.
MAX_NUMBER_OF_SESSION_RULESהוא המספר המקסימלי של כללי סשן שתוסף יכול להוסיף.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() =& gt;void
החזרות
-
Promise<void>
Chrome 91 ואילךPromise שמוחזר אחרי שהעדכון מסתיים. במקרה של שגיאה, ההבטחה תידחה ולא יבוצע שינוי בקבוצת הכללים. יכולות להיות לכך כמה סיבות, למשל פורמט כלל לא תקין, מזהה כלל כפול, חריגה ממגבלת מספר הכללים ועוד.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
updateStaticRules()
chrome.declarativeNetRequest.updateStaticRules(
options: UpdateStaticRulesOptions,
callback?: function,
): Promise<void>
השבתה והפעלה של כללים סטטיים ספציפיים בRuleset. שינויים בכללים ששייכים לRuleset מושבת ייכנסו לתוקף בפעם הבאה שהוא יופעל.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:() =& gt;void
החזרות
-
Promise<void>
אובייקט Promise שמוחזר כשהעדכון מסתיים. במקרה של שגיאה, ההבטחה תידחה ולא יבוצע שינוי בכללים הסטטיים המופעלים.
התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
אירועים
onRuleMatchedDebug
chrome.declarativeNetRequest.onRuleMatchedDebug.addListener(
callback: function,
)
מופעל כשכלל תואם לבקשה. האפשרות הזו זמינה רק לתוספים מסוג unpacked עם ההרשאה "declarativeNetRequestFeedback", כי היא מיועדת לשימוש למטרות ניפוי באגים בלבד.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(info: MatchedRuleInfoDebug) =& gt;void
-
מידע
-