chrome.webRequest

תאריך הרענון: 2026-09-25 robots: noindex

תיאור

אפשר להשתמש ב-chrome.webRequest API כדי לצפות בתנועת הגולשים ולנתח אותה, ולעכב, לחסום או לשנות בקשות בזמן שהן בטיפול.

הרשאות

webRequest

מניפסט

כדי להשתמש ב-API של בקשה לאחזור מהרשת, צריך להצהיר על ההרשאה "webRequest" במניפסט התוסף, וגם על הרשאות המארח הנדרשות. כדי ליירט בקשה למשאב משני, לתוסף צריכה להיות גישה גם לכתובת ה-URL המבוקשת וגם ליוזם שלה. לדוגמה:

{
  "name": "My extension",
  ...
  "permissions": [
    "webRequest"
  ],
  "host_permissions": [
    "*://*.google.com/*"
  ],
  ...
}

החל מגרסה Chrome 108, אפשר לספק פרטי כניסה באופן אסינכרוני עבור onAuthRequired אירועים אם משתמשים בהרשאות "webRequest" ו-"webRequestAuthProvider".

מחזור החיים של בקשות

ה-API של בקשות אינטרנט מגדיר קבוצה של אירועים שמתרחשים במהלך מחזור החיים של בקשת אינטרנט. אפשר להשתמש באירועים האלה כדי לצפות בתנועה ולנתח אותה. אירועים סינכרוניים מסוימים יאפשרו לכם ליירט, לחסום או לשנות בקשה.

התרשים הבא מציג את מחזור החיים של אירועים לבקשות מוצלחות, ואחריו מופיעות הגדרות האירועים:

מחזור החיים של בקשת אינטרנט מנקודת המבט של WebRequest API

onBeforeRequest (אופציונלי, סינכרוני)
מופעל כשבקשה עומדת להתרחש. האירוע הזה נשלח לפני שנוצר חיבור TCP, ואפשר להשתמש בו כדי לבטל או להפנות מחדש בקשות.
onBeforeSendHeaders (אופציונלי, סינכרוני)
מופעל כשבקשה עומדת להתרחש והכותרות הראשוניות הוכנו. האירוע נועד לאפשר לתוספים להוסיף, לשנות ולמחוק כותרות של בקשות (*). האירוע onBeforeSendHeaders מועבר לכל המנויים, כך שמנויים שונים עשויים לנסות לשנות את הבקשה. בפרטי ההטמעה מוסבר איך זה קורה. אפשר להשתמש באירוע הזה כדי לבטל את הבקשה.
onSendHeaders
האירוע מופעל אחרי שכל התוספים קיבלו הזדמנות לשנות את כותרות הבקשה, ומציג את הגרסה הסופית (*). האירוע מופעל לפני שהכותרות נשלחות לרשת. האירוע הזה הוא אינפורמטיבי ומטופל באופן אסינכרוני. אי אפשר לשנות או לבטל את הבקשה.
onHeadersReceived (אופציונלי, סינכרוני)
מופעל בכל פעם שמתקבלת כותרת תגובה של HTTP(S). בגלל הפניות אוטומטיות ובקשות אימות, זה יכול לקרות כמה פעמים בכל בקשה. האירוע הזה נועד לאפשר לתוספים להוסיף, לשנות ולמחוק כותרות תגובה, כמו כותרות Content-Type נכנסות. ההוראות בנושא שמירת נתונים במטמון מעובדות לפני שהאירוע הזה מופעל, ולכן שינוי של כותרות כמו Cache-Control לא משפיע על המטמון של הדפדפן. בנוסף, תוכלו לבטל את הבקשה או להפנות אותה למקום אחר.
onAuthRequired (אופציונלי, סינכרוני)
מופעלת כשבקשה דורשת אימות של המשתמש. אפשר לטפל באירוע הזה באופן סינכרוני כדי לספק פרטי כניסה לאימות. שימו לב: יכול להיות שהתוספים יספקו פרטי כניסה לא תקינים. חשוב להיזהר ולא להזין פרטי כניסה לא תקינים שוב ושוב, כדי לא להיכנס ללולאה אינסופית. אפשר להשתמש בטופס הזה גם כדי לבטל את הבקשה.
onBeforeRedirect
מופעל כשהמערכת עומדת לבצע הפניה אוטומטית. הפניה אוטומטית יכולה להיות מופעלת על ידי קוד תגובת HTTP או על ידי תוסף. האירוע הזה הוא אינפורמטיבי ומטופל באופן אסינכרוני. היא לא מאפשרת לשנות או לבטל את הבקשה.
onResponseStarted
‫
מופעל כשמתקבל הבייט הראשון של גוף התגובה. במקרה של בקשות HTTP, זה אומר ששורת הסטטוס וכותרות התגובה זמינות. האירוע הזה הוא אינפורמטיבי ומטופל באופן אסינכרוני. אי אפשר לשנות או לבטל את הבקשה.
onCompleted
האירוע מופעל כשבקשה עוברת עיבוד בהצלחה.
onErrorOccurred
‫
Fires when a request could not be processed successfully.

ממשק ה-API של בקשות האינטרנט מבטיח שכל בקשה תפעיל את האירוע הסופי onCompleted או onErrorOccurred, עם חריג אחד: אם בקשה מופנית לכתובת URL של data://, האירוע האחרון שמדווח הוא onBeforeRedirect.

* שימו לב: ה-API של בקשות לאחזור מהרשת מציג הפשטה של מקבץ רשת (network stack) לתוסף. באופן פנימי, בקשה לכתובת URL אחת יכולה להתפצל לכמה בקשות HTTP (לדוגמה, כדי לאחזר טווחי בייטים נפרדים מקובץ גדול) או שהיא יכולה להיות מטופלת על ידי מחסנית הרשת בלי לתקשר עם הרשת. לכן, ה-API לא מספק את כותרות ה-HTTP הסופיות שנשלחות לרשת. לדוגמה, כל הכותרות שקשורות לשמירת נתונים במטמון לא גלויות לתוסף.

הכותרות הבאות לא מסופקות כרגע לאירוע onBeforeSendHeaders. הרשימה הזו לא בהכרח מלאה או יציבה.

  • אישור
  • סמל המטמון
  • חיבור
  • אורך התוכן
  • מארח
  • If-Modified-Since
  • If-None-Match
  • If-Range
  • Partial-Data
  • Pragma
  • Proxy-Authorization
  • Proxy-Connection
  • Transfer-Encoding

החל מגרסה 79 של Chrome, שינויים בכותרות של בקשות משפיעים על בדיקות שיתוף משאבים בין מקורות (CORS). אם כותרות ששונו בבקשות ממקורות שונים לא עומדות בקריטריונים, תישלח בקשת קדם-הפעלה של CORS כדי לשאול את השרת אם אפשר לקבל כותרות כאלה. אם אתם באמת צריכים לשנות כותרות באופן שמפר את פרוטוקול ה-CORS, אתם צריכים לציין 'extraHeaders' ב-opt_extraInfoSpec. מצד שני, שינויים בכותרות התגובה לא יעזרו להטעות את הבדיקות של CORS. אם אתם צריכים להטעות את פרוטוקול ה-CORS, אתם צריכים לציין גם את 'extraHeaders' לשינויים בתגובה.

החל מגרסה 79 של Chrome, ‏webRequest API לא מיירט בקשות קדם-הפעלה ותגובות של CORS כברירת מחדל. בקשת קדם-הפעלה של CORS עבור כתובת URL של בקשה גלויה לתוסף אם יש מאזין עם 'extraHeaders' שצוין ב-opt_extraInfoSpec עבור כתובת ה-URL של הבקשה. ‫onBeforeRequest יכול גם לקחת 'extraHeaders' מ-Chrome 79.

החל מ-Chrome 79, כותרת הבקשה הבאה לא מסופקת ואי אפשר לשנות או להסיר אותה בלי לציין 'extraHeaders' ב-opt_extraInfoSpec:

  • מקור

החל מגרסה Chrome 72, אם אתם צריכים לשנות תגובות לפני ש-Cross Origin Read Blocking (CORB) יכול לחסום את התגובה, אתם צריכים לציין 'extraHeaders' ב-opt_extraInfoSpec.

החל מ-Chrome 72, כותרות הבקשה הבאות לא מסופקות ואי אפשר לשנות או להסיר אותן בלי לציין את 'extraHeaders' ב-opt_extraInfoSpec:

  • Accept-Language
  • Accept-Encoding
  • אתר מפנה
  • קובץ Cookie

החל מ-Chrome 72, כותרת התגובה Set-Cookie לא מסופקת ואי אפשר לשנות או להסיר אותה בלי לציין את 'extraHeaders' ב-opt_extraInfoSpec.

החל מ-Chrome 89, אי אפשר לשנות או להסיר את כותרת התגובה X-Frame-Options בלי לציין את 'extraHeaders' ב-opt_extraInfoSpec.

ה-API של webRequest חושף רק בקשות שהתוסף קיבל הרשאה לראות, בהתאם להרשאות המארח שלו. בנוסף, אפשר לגשת רק לסכימות הבאות: http://, https://, ftp://, file://, ws:// (מגרסה Chrome 58), wss:// (מגרסה Chrome 58), urn: (מגרסה Chrome 91) או chrome-extension://. בנוסף, גם בקשות מסוימות עם כתובות URL שמשתמשות באחת מהסכימות שלמעלה מוסתרות. הם כוללים את chrome-extension://other_extension_id, כאשר other_extension_id הוא לא מזהה התוסף שמטפל בבקשה, https://www.google.com/chrome ובקשות רגישות אחרות שקשורות לפונקציונליות של הדפדפן. בנוסף, בקשות XMLHttpRequests סינכרוניות מהתוסף מוסתרות מגורמים מטפלים באירועים שחוסמים את התוסף, כדי למנוע מצבים של חסימה הדדית. שימו לב: יכול להיות שחלק מהאירועים שזמינים בסכימות הנתמכות יהיו מוגבלים בגלל האופי של הפרוטוקול המתאים. לדוגמה, עבור סכימת הקבצים, אפשר לשלוח רק את onBeforeRequest,‏ onResponseStarted,‏ onCompleted ו-onErrorOccurred.

החל מגרסה 58 של Chrome, ‏webRequest API תומך ביירוט של בקשת לחיצת היד של WebSocket. תהליך הלחיצה (handshake) מתבצע באמצעות בקשת שדרוג HTTP, ולכן הוא מתאים למודל webRequest שמבוסס על HTTP. הערה: ה-API לא מיירט:

  • הודעות בודדות שנשלחות דרך חיבור WebSocket קיים.
  • חיבור WebSocket נסגר.

לא אפשרי לבקשות WebSocket לבצע הפניה אוטומטית.

החל מגרסה Chrome 72, תוסף יוכל ליירט בקשה רק אם יש לו הרשאות מארח גם לכתובת ה-URL המבוקשת וגם ליוזם הבקשה.

החל מגרסה Chrome 96, ה-API של webRequest תומך ביירוט של בקשת הלחיצת יד של WebTransport דרך HTTP/3. תהליך הלחיצה (handshake) מתבצע באמצעות בקשת HTTP CONNECT, ולכן הוא מתאים למודל webRequest שמבוסס על HTTP. חשוב לדעת:

  • אחרי שהסשן נוצר, תוספים לא יכולים לצפות בסשן או להתערב בו באמצעות webRequest API.
  • המערכת מתעלמת משינויים בכותרות של בקשות HTTP ב-onBeforeSendHeaders.
  • אין תמיכה בהפניות אוטומטיות ובאימותים ב-WebTransport דרך HTTP/3.

מושגים

כפי שמוסבר בקטעים הבאים, אירועים בממשק API של בקשות לאחזור מהרשת משתמשים במזהי בקשות, ואפשר לציין מסננים ומידע נוסף כשרושמים מאזינים לאירועים.

מזהי בקשות

כל בקשה מזוהה באמצעות מזהה בקשה. המזהה הזה ייחודי במסגרת סשן דפדפן ובהקשר של תוסף. הערך הזה נשאר קבוע במהלך מחזור החיים של בקשה, ואפשר להשתמש בו כדי להתאים אירועים לאותה בקשה. הערה: במקרה של הפניה או אימות HTTP, כמה בקשות HTTP ממופות לבקשה לאחזור מהרשת אחת.

רישום של פונקציות event listener

כדי לרשום רכיב event listener עבור בקשה לאחזור מהרשת, משתמשים בגרסה שונה של הפונקציה addListener() הרגילה. בנוסף להגדרת פונקציית קריאה חוזרת, צריך להגדיר ארגומנט של מסנן, ואפשר להגדיר ארגומנט אופציונלי של מידע נוסף.

שלושת הארגומנטים של addListener() ב-API של בקשות לאחזור מהרשת מוגדרים באופן הבא:

var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];

דוגמה להאזנה לאירוע onBeforeRequest:

chrome.webRequest.onBeforeRequest.addListener(
    callback, filter, opt_extraInfoSpec);

כל קריאה של addListener() מקבלת פונקציית קריאה חוזרת בתור הפרמטר הראשון. פונקציית הקריאה החוזרת הזו מקבלת מילון שמכיל מידע על בקשת כתובת ה-URL הנוכחית. המידע במילון הזה תלוי בסוג האירוע הספציפי וגם בתוכן של opt_extraInfoSpec.

אם המערך האופציונלי opt_extraInfoSpec מכיל את המחרוזת 'blocking' (מותר רק לאירועים ספציפיים), פונקציית הקריאה החוזרת מטופלת באופן סינכרוני. המשמעות היא שהבקשה נחסמת עד שפונקציית הקריאה החוזרת מחזירה ערך. במקרה כזה, פונקציית הקריאה החוזרת יכולה להחזיר webRequest.BlockingResponse שקובע את המשך מחזור החיים של הבקשה. בהתאם להקשר, התגובה הזו מאפשרת לבטל או להפנות מחדש בקשה (onBeforeRequest), לבטל בקשה או לשנות כותרות (onBeforeSendHeaders, ‏ onHeadersReceived), ולבטל בקשה או לספק פרטי אימות (onAuthRequired).

אם המערך האופציונלי opt_extraInfoSpec מכיל את המחרוזת 'asyncBlocking' במקום זאת (מותר רק עבור onAuthRequired), התוסף יכול ליצור את webRequest.BlockingResponse באופן אסינכרוני.

הפרמטר webRequest.RequestFilter filter מאפשר להגביל את הבקשות שגורמות להפעלת אירועים במאפיינים שונים:

כתובות URL
תבניות URL כמו *://www.google.com/foo*bar.
סוגים
סוגי בקשות כמו main_frame (מסמך שנטען עבור מסגרת ברמה העליונה), sub_frame (מסמך שנטען עבור מסגרת מוטמעת) ו-image (תמונה באתר). מידע נוסף זמין במאמר בנושא webRequest.RequestFilter.
מזהה הכרטיסייה
המזהה של כרטיסייה אחת.
מזהה החלון
המזהה של חלון.

בהתאם לסוג האירוע, אפשר לציין מחרוזות ב-opt_extraInfoSpec כדי לבקש מידע נוסף על הבקשה. הפרטים האלה משמשים כדי לספק מידע מפורט על נתוני הבקשה רק אם מתבקש במפורש.

פרטי ההטמעה

יש כמה פרטים חשובים לגבי ההטמעה שכדאי להבין כשמפתחים תוסף שמשתמש ב-API של בקשות לאחזור מהרשת:

web_accessible_resources

כשתוסף משתמש בממשקי webRequest API כדי להפנות בקשה למשאב ציבורי למשאב שלא נגיש באינטרנט, הוא נחסם ומוצגת שגיאה. האמור לעיל תקף גם אם התוסף שמבצע את ההפניה האוטומטית הוא הבעלים של המשאב שלא ניתן לגשת אליו דרך האינטרנט. כדי להצהיר על משאבים לשימוש בממשקי declarativeWebRequest API, צריך להצהיר על המערך "web_accessible_resources" ולאכלס אותו במניפסט, כמו שמתואר כאן.

פתרון התנגשויות

ביישום הנוכחי של ה-API של בקשות לאחזור מהרשת, בקשה נחשבת כמבוטלת אם לפחות תוסף אחד מורה לבטל את הבקשה. אם תוסף מבטל בקשה, כל התוספים מקבלים הודעה על כך באמצעות אירוע onErrorOccurred. רק תוסף אחד יכול להפנות בקשה או לשנות כותרת בכל פעם. אם יותר מתוסף אחד מנסה לשנות את הבקשה, התוסף שהותקן לאחרונה ביותר ינצח, וכל השאר יתעלמו. תוסף לא מקבל הודעה אם המערכת התעלמה מההוראה שלו לשנות או להפנות מחדש.

שמירה במטמון

‫Chrome משתמש בשני סוגי מטמון – מטמון בדיסק ומטמון בזיכרון שהוא מהיר מאוד. משך החיים של מטמון בזיכרון קשור למשך החיים של תהליך רינדור, שמתאים בערך לכרטיסייה. בקשות שנענות ממטמון הזיכרון לא נראות ל-API של בקשה לאחזור מהרשת. אם רכיב לטיפול בבקשות משנה את ההתנהגות שלו (לדוגמה, ההתנהגות שלפיה בקשות נחסמות), יכול להיות שרענון פשוט של הדף לא יתחשב בהתנהגות ששונתה. כדי לוודא שהשינוי בהתנהגות יתבצע, צריך להתקשר אל handlerBehaviorChanged() כדי לרוקן מידע (Flush) את מטמון הזיכרון. אבל לא כדאי לעשות את זה לעיתים קרובות, כי ניקוי המטמון הוא פעולה יקרה מאוד. אין צורך לקרוא ל-handlerBehaviorChanged() אחרי רישום או ביטול רישום של רכיב event listener.

חותמות זמן

המאפיין timestamp של אירועים של בקשות לאחזור מהרשת מובטח להיות עקבי באופן פנימי בלבד. השוואה בין אירוע אחד לאירוע אחר תיתן לכם את ההפרש הנכון ביניהם, אבל השוואה שלהם לזמן הנוכחי בתוך התוסף (דרך (new Date()).getTime(), למשל) עשויה לתת תוצאות לא צפויות.

טיפול בשגיאות

אם מנסים לרשום אירוע עם ארגומנטים לא תקינים, תופעל שגיאת JavaScript וגורם מטפל באירועים לא יירשם. אם מתרחשת שגיאה בזמן הטיפול באירוע או אם גורם מטפל באירועים מחזיר תגובה חוסמת לא תקינה, הודעת שגיאה נרשמת במסוף של התוסף, והמערכת מתעלמת מהגורם המטפל באירועים עבור הבקשה הזו.

דוגמאות

בדוגמה הבאה אפשר לראות איך חוסמים את כל הבקשות אל www.evil.com:

chrome.webRequest.onBeforeRequest.addListener(
  function(details) {
    return {cancel: details.url.indexOf("://www.evil.com/") != -1};
  },
  {urls: ["<all_urls>"]},
  ["blocking"]
);

הפונקציה הזו משתמשת ב-גורם מטפל באירועים של חסימה, ולכן היא מחייבת את ההרשאה "webRequest" וגם את ההרשאה "webRequestBlocking" בקובץ המניפסט.

בדוגמה הבאה מושג אותו יעד בצורה יעילה יותר, כי בקשות שלא מטורגטות ל-www.evil.com לא צריכות לעבור לתוסף:

chrome.webRequest.onBeforeRequest.addListener(
  function(details) { return {cancel: true}; },
  {urls: ["*://www.evil.com/*"]},
  ["blocking"]
);

בדוגמה הבאה אפשר לראות איך למחוק את כותרת User-Agent מכל הבקשות:

chrome.webRequest.onBeforeSendHeaders.addListener(
  function(details) {
    for (var i = 0; i < details.requestHeaders.length; ++i) {
      if (details.requestHeaders[i].name === 'User-Agent') {
        details.requestHeaders.splice(i, 1);
        break;
      }
    }
    return {requestHeaders: details.requestHeaders};
  },
  {urls: ["<all_urls>"]},
  ["blocking", "requestHeaders"]
);

כדי לנסות את ממשק ה-API‏ chrome.webRequest, מתקינים את הדוגמה webRequest מהמאגר chrome-extension-samples.

סוגים

BlockingResponse

מחזירה ערך עבור מטפלי אירועים שהוחל עליהם extraInfoSpec מסוג 'חסימה'. מאפשר לגורם המטפל באירועים לשנות בקשות לאחזור מהרשת.

מאפיינים

  • authCredentials

    אובייקט אופציונלי

    המאפיין הזה משמש רק כתגובה לאירוע onAuthRequired. אם הערך מוגדר, הבקשה מתבצעת באמצעות פרטי הכניסה שסופקו.

    • סיסמה

      מחרוזת

    • שם משתמש

      מחרוזת

  • ביטול

    ‫boolean אופציונלי

    אם הערך הוא true, הבקשה מבוטלת. כך נמנעת שליחת הבקשה. אפשר להשתמש ב-callback הזה כתגובה לאירועים onBeforeRequest, ‏ onBeforeSendHeaders, ‏ onHeadersReceived ו-onAuthRequired.

  • redirectUrl

    מחרוזת אופציונלי

    המאפיין הזה משמש רק כתגובה לאירועים onBeforeRequest ו-onHeadersReceived. אם המדיניות מוגדרת, המערכת מונעת את השליחה או את השלמת הבקשה המקורית, ומפנה אותה לכתובת ה-URL שצוינה. מותרות הפניות אוטומטיות לסכימות שאינן HTTP, כמו data:. הפניות אוטומטיות שמופעלות על ידי פעולת הפניה אוטומטית משתמשות בשיטת הבקשה המקורית להפניה האוטומטית, עם חריג אחד: אם ההפניה האוטומטית מופעלת בשלב onHeadersReceived, ההפניה האוטומטית תופעל באמצעות שיטת אחזור נתונים. המערכת מתעלמת מהפניות מכתובות URL עם סכימות ws:// ו-wss://.

  • requestHeaders

    ‫HttpHeaders אופציונלי

    המאפיין הזה משמש רק כתגובה לאירוע onBeforeSendHeaders. אם השדה הזה מוגדר, הבקשה מתבצעת עם כותרות הבקשה האלה במקום זאת.

  • responseHeaders

    ‫HttpHeaders אופציונלי

    המאפיין הזה משמש רק כתגובה לאירוע onHeadersReceived. אם הכותרות מוגדרות, ההנחה היא שהשרת הגיב עם כותרות התגובה האלה במקום. מחזירים רק responseHeaders אם רוצים לשנות את הכותרות כדי להגביל את מספר הקונפליקטים (רק תוסף אחד יכול לשנות את responseHeaders לכל בקשה).

FormDataItem

‫Chrome 66 ואילך

מכיל נתונים שמועברים בנתוני הטופס. בטופס עם קידוד URL, הנתונים מאוחסנים כמחרוזת אם הם מחרוזת בקידוד UTF-8, וכ-ArrayBuffer אחרת. במקרה של form-data, זהו ArrayBuffer. אם הנתונים בטופס מייצגים העלאה של קובץ, זהו מחרוזת עם שם הקובץ, אם שם הקובץ סופק.

ספירה

ArrayBuffer

מחרוזת

HttpHeaders

מערך של כותרות HTTP. כל כותרת מיוצגת כמילון שמכיל את המפתחות name ואת value או binaryValue.

סוג

object[]

מאפיינים

  • binaryValue

    ‫number[] אופציונלי

    הערך של כותרת ה-HTTP אם אי אפשר לייצג אותו באמצעות UTF-8, מאוחסן כערכי בייטים נפרדים (0..255).

  • שם

    מחרוזת

    השם של כותרת ה-HTTP.

  • ערך

    מחרוזת אופציונלי

    הערך של כותרת ה-HTTP אם אפשר לייצג אותו באמצעות UTF-8.

IgnoredActionType

‫Chrome 70 ואילך

ספירה

‫'redirect'

‫request_headers

‫response_headers

‫‎"auth_credentials"

OnAuthRequiredOptions

‫Chrome 44 ואילך

ספירה

‫responseHeaders
מציין שכותרות התגובה צריכות להיכלל באירוע.

‫'blocking'
מציין שהבקשה נחסמת עד שפונקציית הקריאה החוזרת מחזירה ערך.

‫"asyncBlocking"
מציין שפונקציית הקריאה החוזרת מטופלת באופן אסינכרוני.

‫extraHeaders
מציין שכותרות יכולות להפר שיתוף משאבים בין מקורות (CORS).

OnBeforeRedirectOptions

‫Chrome 44 ואילך

ספירה

‫responseHeaders
מציין שכותרות התגובה צריכות להיכלל באירוע.

‫extraHeaders
מציין שכותרות יכולות להפר שיתוף משאבים בין מקורות (CORS).

OnBeforeRequestOptions

‫Chrome 44 ואילך

ספירה

‫'blocking'
מציין שהבקשה נחסמת עד שפונקציית הקריאה החוזרת מחזירה ערך.

‫requestBody
מציין שגוף הבקשה צריך להיכלל באירוע.

‫extraHeaders
מציין שכותרות יכולות להפר שיתוף משאבים בין מקורות (CORS).

OnBeforeSendHeadersOptions

‫Chrome 44 ואילך

ספירה

‫requestHeaders
מציין שכותרת הבקשה צריכה להיכלל באירוע.

‫'blocking'
מציין שהבקשה נחסמת עד שפונקציית הקריאה החוזרת מחזירה ערך.

‫extraHeaders
מציין שכותרות יכולות להפר שיתוף משאבים בין מקורות (CORS).

OnCompletedOptions

‫Chrome 44 ואילך

ספירה

‫responseHeaders
מציין שכותרות התגובה צריכות להיכלל באירוע.

‫extraHeaders
מציין שכותרות יכולות להפר שיתוף משאבים בין מקורות (CORS).

OnErrorOccurredOptions

‫Chrome 79 ואילך

ערך

‫"extraHeaders"

OnHeadersReceivedOptions

‫Chrome 44 ואילך

ספירה

‫'blocking'
מציין שהבקשה נחסמת עד שפונקציית הקריאה החוזרת מחזירה ערך.

‫responseHeaders
מציין שכותרות התגובה צריכות להיכלל באירוע.

‫extraHeaders
מציין שכותרות יכולות להפר שיתוף משאבים בין מקורות (CORS).

‫'securityInfo'
מציין שפרטי האבטחה צריכים להיכלל באירוע.

‫securityInfoRawDer
מציין שצריך לכלול באירוע את SecurityInfo עם בייטים גולמיים של אישורים.

OnResponseStartedOptions

‫Chrome 44 ואילך

ספירה

‫responseHeaders
מציין שכותרות התגובה צריכות להיכלל באירוע.

‫extraHeaders
מציין שכותרות יכולות להפר שיתוף משאבים בין מקורות (CORS).

OnSendHeadersOptions

‫Chrome 44 ואילך

ספירה

‫requestHeaders
מציין שכותרת הבקשה צריכה להיכלל באירוע.

‫extraHeaders
מציין שכותרות יכולות להפר שיתוף משאבים בין מקורות (CORS).

RequestFilter

אובייקט שמתאר מסננים להחלה על אירועים מסוג webRequest.

מאפיינים

  • tabId

    מספר אופציונלי

  • סוגים

    ‫ResourceType[] אופציונלי

    רשימה של סוגי בקשות. בקשות שלא תואמות לאף אחד מהסוגים יסוננו.

  • כתובות אתרים

    string[]

    רשימה של כתובות URL או תבניות URL. בקשות שלא תואמות לאף אחת מכתובות ה-URL יסוננו.

  • windowId

    מספר אופציונלי

ResourceType

‫Chrome 44 ואילך

ספירה

‫"main_frame"
מציין שהמשאב הוא המסגרת הראשית.

‫‎"sub_frame"
מציין שהמשאב הוא מסגרת משנה.

‫"stylesheet"
מציין שהמשאב הוא גיליון סגנונות.

‫"script"
מציין שהמשאב הוא סקריפט.

‫"image"
מציין שהמשאב הוא תמונה.

‫font
מציין שהמשאב הוא גופן.

‫object
מציין שהמשאב הוא אובייקט.

‫"xmlhttprequest"
מציין את המשאב כ-XMLHttpRequest.

‫'ping'
מציין את המשאב כפינג.

‫'csp_report'
מציין את המשאב כדוח Content Security Policy‏ (CSP).

‫"media"
מציין שהמשאב הוא אובייקט מדיה.

‫websocket
מציין שהמשאב הוא WebSocket.

‫webbundle
מציין שהמשאב הוא WebBundle.

‫"other"
מציין שהמשאב הוא מסוג שלא נכלל ברשימת הסוגים.

SecurityInfo

‫Chrome 144 ואילך

מאפיינים

  • אישורים

    object[]

    רשימת אישורים

    • טביעת אצבע

      אובייקט

      טביעות האצבע של האישור.

      • sha256

        מחרוזת

        טביעת האצבע מסוג SHA-256 של האישור.

    • rawDER

      ‫ArrayBuffer אופציונלי

      בייטים גולמיים של אישור שרת בקידוד DER

  • הסמוי הסופי

    מחרוזת

    מצב החיבור. אחד מהערכים secure,‏ insecure או broken.

UploadData

מכיל נתונים שהועלו בבקשת כתובת URL.

מאפיינים

  • בייטים

    כל אופציונלי

    ‫ArrayBuffer עם עותק של הנתונים.

  • קובץ

    מחרוזת אופציונלי

    מחרוזת עם הנתיב והשם של הקובץ.

מאפיינים

MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES

המספר המקסימלי של פעמים שאפשר לקרוא ל-handlerBehaviorChanged בכל מרווח של 10 דקות. הפונקציה handlerBehaviorChanged היא פונקציה יקרה שאין להפעיל לעיתים קרובות.

ערך

20

Methods

handlerBehaviorChanged()

Promise
chrome.webRequest.handlerBehaviorChanged(
  callback?: function,
)
: Promise<void>

צריך להפעיל את הפונקציה הזו כשמשנים את ההתנהגות של רכיבי ה-handler של webRequest כדי למנוע טיפול שגוי בגלל שמירה במטמון. הקריאה לפונקציה הזו יקרה. לא מתקשרים אליו לעיתים קרובות.

פרמטרים

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    ‫Chrome 116 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

אירועים

onActionIgnored

‫Chrome 70 ואילך
chrome.webRequest.onActionIgnored.addListener(
  callback: function,
)

האירוע מופעל כשמתעלמים משינוי מוצע של תוסף לבקשה לאחזור מהרשת. המצב הזה קורה במקרה של התנגשויות עם תוספים אחרים.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • פעולה

        הפעולה המוצעת שהמערכת התעלמה ממנה.

      • requestId

        מחרוזת

        מזהה הבקשה. מזהי הבקשות הם ייחודיים בסשן דפדפן. כתוצאה מכך, אפשר להשתמש בהם כדי לקשר בין אירועים שונים של אותה בקשה.

onAuthRequired

chrome.webRequest.onAuthRequired.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnAuthRequiredOptions[],
)

מופעל כשמתקבל כשל באימות. למאזין יש שלוש אפשרויות: הוא יכול לספק פרטי כניסה לאימות, הוא יכול לבטל את הבקשה ולהציג את דף השגיאה, או שהוא יכול לא לבצע שום פעולה לגבי האתגר. אם מסופקים פרטי כניסה שגויים של משתמש, יכול להיות שהקריאה הזו תתבצע כמה פעמים עבור אותה בקשה. הערה: צריך לציין רק אחד מהמצבים 'blocking' או 'asyncBlocking' בפרמטר extraInfoSpec.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object, asyncCallback?: function) => BlockingResponse | undefined

    • פרטים

      אובייקט

      • מתמודד

        אובייקט

        השרת שמבקש אימות.

        • מארח

          מחרוזת

        • ניוד

          number

      • documentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        המזהה הייחודי האוניברסלי (UUID) של המסמך ששולח את הבקשה.

      • ‫Chrome 106 ואילך

        מחזור החיים שבו המסמך נמצא.

      • frameId

        number

        הערך 0 מציין שהבקשה מתרחשת בפריים הראשי, וערך חיובי מציין את המזהה של פריים משני שבו מתרחשת הבקשה. אם המסמך של (מסגרת משנה) נטען (type הוא main_frame או sub_frame), frameId מציין את המזהה של המסגרת הזו, ולא את המזהה של המסגרת החיצונית. מזהי המסגרות הם ייחודיים בתוך כרטיסייה.

      • ‫Chrome 106 ואילך

        סוג המסגרת שבה התרחשה הבקשה.

      • יוזם הפעילות

        מחרוזת אופציונלי

        ‫Chrome 63 ואילך

        המקור שבו נוצרה הבקשה. הערך הזה לא משתנה בהפניות אוטומטיות. אם זהו מקור אטום, המערכת תשתמש במחרוזת 'null'.

      • isProxy

        בוליאני

        הערך הוא True עבור Proxy-Authenticate, ו-False עבור WWW-Authenticate.

      • method

        מחרוזת

        שיטת HTTP רגילה.

      • parentDocumentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        ה-UUID של מסמך האב שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        המזהה של המסגרת שעוטפת את המסגרת ששלחה את הבקשה. הערך הוא ‎-1 אם לא קיים פריים אב.

      • מקבץ שרתי משחק (Realm)

        מחרוזת אופציונלי

        תחום האימות שסופק על ידי השרת, אם יש כזה.

      • requestId

        מחרוזת

        מזהה הבקשה. מזהי הבקשות הם ייחודיים בסשן דפדפן. כתוצאה מכך, אפשר להשתמש בהם כדי לקשר בין אירועים שונים של אותה בקשה.

      • responseHeaders

        ‫HttpHeaders אופציונלי

        כותרות התגובה של HTTP שהתקבלו יחד עם התגובה הזו.

      • סכמה

        מחרוזת

        סכמת האימות, למשל Basic או Digest.

      • statusCode

        number

        ‫Chrome 43 ואילך

        קוד סטטוס של HTTP רגיל שמוחזר על ידי השרת.

      • statusLine

        מחרוזת

        שורת הסטטוס של התגובה ב-HTTP או המחרוזת 'HTTP/0.9 200 OK' לתגובות HTTP/0.9 (כלומר, תגובות שאין להן שורת סטטוס) או מחרוזת ריקה אם אין כותרות.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצעת הבקשה. הערך הוא ‎-1 אם הבקשה לא קשורה לכרטיסייה.

      • timeStamp

        number

        הזמן שבו האות הזה מופעל, באלפיות השנייה מאז ראשית הזמן.

      • סוג

        השימוש שייעשה במשאב המבוקש.

      • url

        מחרוזת

    • asyncCallback

      פונקציה אופציונלית

      ‫Chrome 58 ואילך

      הפרמטר asyncCallback נראה כך:

      (response: BlockingResponse) => void

    • החזרות

      BlockingResponse | undefined

      אם מציינים 'חסימה' בפרמטר extraInfoSpec, רכיב ה-event listener צריך להחזיר אובייקט מהסוג הזה.

  • סינון
  • extraInfoSpec

onBeforeRedirect

chrome.webRequest.onBeforeRedirect.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeRedirectOptions[],
)

מופעל כשעומד להתרחש ניתוב מחדש שהתחיל בשרת.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • documentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        המזהה הייחודי האוניברסלי (UUID) של המסמך ששולח את הבקשה.

      • ‫Chrome 106 ואילך

        מחזור החיים שבו המסמך נמצא.

      • frameId

        number

        הערך 0 מציין שהבקשה מתרחשת בפריים הראשי, וערך חיובי מציין את המזהה של פריים משני שבו מתרחשת הבקשה. אם המסמך של (מסגרת משנה) נטען (type הוא main_frame או sub_frame), frameId מציין את המזהה של המסגרת הזו, ולא את המזהה של המסגרת החיצונית. מזהי המסגרות הם ייחודיים בתוך כרטיסייה.

      • ‫Chrome 106 ואילך

        סוג המסגרת שבה התרחשה הבקשה.

      • fromCache

        בוליאני

        מציין אם התשובה הזו נמשכה ממטמון הדיסק.

      • יוזם הפעילות

        מחרוזת אופציונלי

        ‫Chrome 63 ואילך

        המקור שבו נוצרה הבקשה. הערך הזה לא משתנה בהפניות אוטומטיות. אם זהו מקור אטום, המערכת תשתמש במחרוזת 'null'.

      • ip

        מחרוזת אופציונלי

        כתובת ה-IP של השרת שאליו הבקשה נשלחה בפועל. שימו לב שזו יכולה להיות כתובת IPv6 מילולית.

      • method

        מחרוזת

        שיטת HTTP רגילה.

      • parentDocumentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        ה-UUID של מסמך האב שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        המזהה של המסגרת שעוטפת את המסגרת ששלחה את הבקשה. הערך הוא ‎-1 אם לא קיים פריים אב.

      • redirectUrl

        מחרוזת

        כתובת ה-URL החדשה.

      • requestId

        מחרוזת

        מזהה הבקשה. מזהי הבקשות הם ייחודיים בסשן דפדפן. כתוצאה מכך, אפשר להשתמש בהם כדי לקשר בין אירועים שונים של אותה בקשה.

      • responseHeaders

        ‫HttpHeaders אופציונלי

        כותרות תגובת ה-HTTP שהתקבלו עם ההפניה הזו.

      • statusCode

        number

        קוד סטטוס של HTTP רגיל שמוחזר על ידי השרת.

      • statusLine

        מחרוזת

        שורת הסטטוס של התגובה ב-HTTP או המחרוזת 'HTTP/0.9 200 OK' לתגובות HTTP/0.9 (כלומר, תגובות שאין להן שורת סטטוס) או מחרוזת ריקה אם אין כותרות.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצעת הבקשה. הערך הוא ‎-1 אם הבקשה לא קשורה לכרטיסייה.

      • timeStamp

        number

        הזמן שבו האות הזה מופעל, באלפיות השנייה מאז ראשית הזמן.

      • סוג

        השימוש שייעשה במשאב המבוקש.

      • url

        מחרוזת

  • סינון
  • extraInfoSpec

onBeforeRequest

chrome.webRequest.onBeforeRequest.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeRequestOptions[],
)

מופעל כשבקשה עומדת להתרחש.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => BlockingResponse | undefined

    • פרטים

      אובייקט

      • documentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        המזהה הייחודי האוניברסלי (UUID) של המסמך ששולח את הבקשה.

      • documentLifecycle

        ‫extensionTypes.DocumentLifecycle אופציונלי

        ‫Chrome 106 ואילך

        מחזור החיים שבו המסמך נמצא.

      • frameId

        number

        הערך 0 מציין שהבקשה מתרחשת בפריים הראשי, וערך חיובי מציין את המזהה של פריים משני שבו מתרחשת הבקשה. אם המסמך של (מסגרת משנה) נטען (type הוא main_frame או sub_frame), frameId מציין את המזהה של המסגרת הזו, ולא את המזהה של המסגרת החיצונית. מזהי המסגרות הם ייחודיים בתוך כרטיסייה.

      • frameType

        ‫extensionTypes.FrameType אופציונלי

        ‫Chrome 106 ואילך

        סוג המסגרת שבה התרחשה הבקשה.

      • יוזם הפעילות

        מחרוזת אופציונלי

        ‫Chrome 63 ואילך

        המקור שבו נוצרה הבקשה. הערך הזה לא משתנה בהפניות אוטומטיות. אם זהו מקור אטום, המערכת תשתמש במחרוזת 'null'.

      • method

        מחרוזת

        שיטת HTTP רגילה.

      • parentDocumentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        ה-UUID של מסמך האב שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        המזהה של המסגרת שעוטפת את המסגרת ששלחה את הבקשה. הערך הוא ‎-1 אם לא קיים פריים אב.

      • requestBody

        אובייקט אופציונלי

        מכיל את נתוני גוף הבקשה של HTTP. הערך הזה מסופק רק אם extraInfoSpec מכיל את הערך requestBody.

        • error

          מחרוזת אופציונלי

          שגיאות בקבלת נתונים של גוף הבקשה.

        • formData

          אובייקט אופציונלי

          אם שיטת הבקשה היא POST והגוף הוא רצף של צמדי מפתח/ערך שמקודדים ב-UTF8, מקודדים כ-multipart/form-data או כ-application/x-www-form-urlencoded, המילון הזה קיים ולכל מפתח הוא מכיל את רשימת כל הערכים של המפתח הזה. אם הנתונים הם מסוג מדיה אחר, או אם הם פגומים, המילון לא יופיע. ערך לדוגמה של המילון הזה הוא {'key': ['value1', 'value2']}.

        • גולמי

          ‫UploadData[] אופציונלי

          אם שיטת הבקשה היא PUT או POST, והגוף עדיין לא נותח ב-formData, אז הרכיבים הלא מנותחים של גוף הבקשה נכללים במערך הזה.

      • requestId

        מחרוזת

        מזהה הבקשה. מזהי הבקשות הם ייחודיים בסשן דפדפן. כתוצאה מכך, אפשר להשתמש בהם כדי לקשר בין אירועים שונים של אותה בקשה.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצעת הבקשה. הערך הוא ‎-1 אם הבקשה לא קשורה לכרטיסייה.

      • timeStamp

        number

        הזמן שבו האות הזה מופעל, באלפיות השנייה מאז ראשית הזמן.

      • סוג

        השימוש שייעשה במשאב המבוקש.

      • url

        מחרוזת

    • החזרות

      BlockingResponse | undefined

      אם מציינים 'חסימה' בפרמטר extraInfoSpec, רכיב ה-event listener צריך להחזיר אובייקט מהסוג הזה.

  • סינון
  • extraInfoSpec

    ‫OnBeforeRequestOptions[] optional

onBeforeSendHeaders

chrome.webRequest.onBeforeSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeSendHeadersOptions[],
)

מופעל לפני שליחת בקשת HTTP, ברגע שכותרות הבקשה זמינות. זה יכול לקרות אחרי שנוצר חיבור TCP לשרת, אבל לפני שנתוני HTTP נשלחים.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => BlockingResponse | undefined

    • פרטים

      אובייקט

      • documentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        המזהה הייחודי האוניברסלי (UUID) של המסמך ששולח את הבקשה.

      • ‫Chrome 106 ואילך

        מחזור החיים שבו המסמך נמצא.

      • frameId

        number

        הערך 0 מציין שהבקשה מתרחשת בפריים הראשי, וערך חיובי מציין את המזהה של פריים משני שבו מתרחשת הבקשה. אם המסמך של (מסגרת משנה) נטען (type הוא main_frame או sub_frame), frameId מציין את המזהה של המסגרת הזו, ולא את המזהה של המסגרת החיצונית. מזהי המסגרות הם ייחודיים בתוך כרטיסייה.

      • ‫Chrome 106 ואילך

        סוג המסגרת שבה התרחשה הבקשה.

      • יוזם הפעילות

        מחרוזת אופציונלי

        ‫Chrome 63 ואילך

        המקור שבו נוצרה הבקשה. הערך הזה לא משתנה בהפניות אוטומטיות. אם זהו מקור אטום, המערכת תשתמש במחרוזת 'null'.

      • method

        מחרוזת

        שיטת HTTP רגילה.

      • parentDocumentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        ה-UUID של מסמך האב שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        המזהה של המסגרת שעוטפת את המסגרת ששלחה את הבקשה. הערך הוא ‎-1 אם לא קיים פריים אב.

      • requestHeaders

        ‫HttpHeaders אופציונלי

        הכותרות של בקשת ה-HTTP שיישלחו עם הבקשה הזו.

      • requestId

        מחרוזת

        מזהה הבקשה. מזהי הבקשות הם ייחודיים בסשן דפדפן. כתוצאה מכך, אפשר להשתמש בהם כדי לקשר בין אירועים שונים של אותה בקשה.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצעת הבקשה. הערך הוא ‎-1 אם הבקשה לא קשורה לכרטיסייה.

      • timeStamp

        number

        הזמן שבו האות הזה מופעל, באלפיות השנייה מאז ראשית הזמן.

      • סוג

        השימוש שייעשה במשאב המבוקש.

      • url

        מחרוזת

    • החזרות

      BlockingResponse | undefined

      אם מציינים 'חסימה' בפרמטר extraInfoSpec, רכיב ה-event listener צריך להחזיר אובייקט מהסוג הזה.

  • סינון
  • extraInfoSpec

onCompleted

chrome.webRequest.onCompleted.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnCompletedOptions[],
)

האירוע מופעל כשבקשה מסתיימת.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • documentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        המזהה הייחודי האוניברסלי (UUID) של המסמך ששולח את הבקשה.

      • ‫Chrome 106 ואילך

        מחזור החיים שבו המסמך נמצא.

      • frameId

        number

        הערך 0 מציין שהבקשה מתרחשת בפריים הראשי, וערך חיובי מציין את המזהה של פריים משני שבו מתרחשת הבקשה. אם המסמך של (מסגרת משנה) נטען (type הוא main_frame או sub_frame), frameId מציין את המזהה של המסגרת הזו, ולא את המזהה של המסגרת החיצונית. מזהי המסגרות הם ייחודיים בתוך כרטיסייה.

      • ‫Chrome 106 ואילך

        סוג המסגרת שבה התרחשה הבקשה.

      • fromCache

        בוליאני

        מציין אם התשובה הזו נמשכה ממטמון הדיסק.

      • יוזם הפעילות

        מחרוזת אופציונלי

        ‫Chrome 63 ואילך

        המקור שבו נוצרה הבקשה. הערך הזה לא משתנה בהפניות אוטומטיות. אם זהו מקור אטום, המערכת תשתמש במחרוזת 'null'.

      • ip

        מחרוזת אופציונלי

        כתובת ה-IP של השרת שאליו הבקשה נשלחה בפועל. שימו לב שזו יכולה להיות כתובת IPv6 מילולית.

      • method

        מחרוזת

        שיטת HTTP רגילה.

      • parentDocumentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        ה-UUID של מסמך האב שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        המזהה של המסגרת שעוטפת את המסגרת ששלחה את הבקשה. הערך הוא ‎-1 אם לא קיים פריים אב.

      • requestId

        מחרוזת

        מזהה הבקשה. מזהי הבקשות הם ייחודיים בסשן דפדפן. כתוצאה מכך, אפשר להשתמש בהם כדי לקשר בין אירועים שונים של אותה בקשה.

      • responseHeaders

        ‫HttpHeaders אופציונלי

        כותרות התגובה של HTTP שהתקבלו יחד עם התגובה הזו.

      • statusCode

        number

        קוד סטטוס של HTTP רגיל שמוחזר על ידי השרת.

      • statusLine

        מחרוזת

        שורת הסטטוס של התגובה ב-HTTP או המחרוזת 'HTTP/0.9 200 OK' לתגובות HTTP/0.9 (כלומר, תגובות שאין להן שורת סטטוס) או מחרוזת ריקה אם אין כותרות.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצעת הבקשה. הערך הוא ‎-1 אם הבקשה לא קשורה לכרטיסייה.

      • timeStamp

        number

        הזמן שבו האות הזה מופעל, באלפיות השנייה מאז ראשית הזמן.

      • סוג

        השימוש שייעשה במשאב המבוקש.

      • url

        מחרוזת

  • סינון
  • extraInfoSpec

    ‫OnCompletedOptions[] optional

onErrorOccurred

chrome.webRequest.onErrorOccurred.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnErrorOccurredOptions[],
)

מופעלת כשמתרחשת שגיאה.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • documentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        המזהה הייחודי האוניברסלי (UUID) של המסמך ששולח את הבקשה. הערך הזה לא מופיע אם הבקשה היא ניווט של פריים.

      • ‫Chrome 106 ואילך

        מחזור החיים שבו המסמך נמצא.

      • error

        מחרוזת

        תיאור השגיאה. לא מובטח שהמחרוזת הזו תישאר תואמת לאחור בין גרסאות. אסור לנתח את התוכן של הקובץ ולבצע פעולות על סמך הניתוח.

      • frameId

        number

        הערך 0 מציין שהבקשה מתרחשת בפריים הראשי, וערך חיובי מציין את המזהה של פריים משני שבו מתרחשת הבקשה. אם המסמך של (מסגרת משנה) נטען (type הוא main_frame או sub_frame), frameId מציין את המזהה של המסגרת הזו, ולא את המזהה של המסגרת החיצונית. מזהי המסגרות הם ייחודיים בתוך כרטיסייה.

      • ‫Chrome 106 ואילך

        סוג המסגרת שבה התרחשה הבקשה.

      • fromCache

        בוליאני

        מציין אם התשובה הזו נמשכה ממטמון הדיסק.

      • יוזם הפעילות

        מחרוזת אופציונלי

        ‫Chrome 63 ואילך

        המקור שבו נוצרה הבקשה. הערך הזה לא משתנה בהפניות אוטומטיות. אם זהו מקור אטום, המערכת תשתמש במחרוזת 'null'.

      • ip

        מחרוזת אופציונלי

        כתובת ה-IP של השרת שאליו הבקשה נשלחה בפועל. שימו לב שזו יכולה להיות כתובת IPv6 מילולית.

      • method

        מחרוזת

        שיטת HTTP רגילה.

      • parentDocumentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        ה-UUID של מסמך האב שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        המזהה של המסגרת שעוטפת את המסגרת ששלחה את הבקשה. הערך הוא ‎-1 אם לא קיים פריים אב.

      • requestId

        מחרוזת

        מזהה הבקשה. מזהי הבקשות הם ייחודיים בסשן דפדפן. כתוצאה מכך, אפשר להשתמש בהם כדי לקשר בין אירועים שונים של אותה בקשה.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצעת הבקשה. הערך הוא ‎-1 אם הבקשה לא קשורה לכרטיסייה.

      • timeStamp

        number

        הזמן שבו האות הזה מופעל, באלפיות השנייה מאז ראשית הזמן.

      • סוג

        השימוש שייעשה במשאב המבוקש.

      • url

        מחרוזת

  • סינון
  • extraInfoSpec

    ‫OnErrorOccurredOptions[] אופציונלי

onHeadersReceived

chrome.webRequest.onHeadersReceived.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnHeadersReceivedOptions[],
)

האירוע מופעל כשמתקבלות כותרות של תגובת HTTP לבקשה.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => BlockingResponse | undefined

    • פרטים

      אובייקט

      • documentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        המזהה הייחודי האוניברסלי (UUID) של המסמך ששולח את הבקשה.

      • ‫Chrome 106 ואילך

        מחזור החיים שבו המסמך נמצא.

      • frameId

        number

        הערך 0 מציין שהבקשה מתרחשת בפריים הראשי, וערך חיובי מציין את המזהה של פריים משני שבו מתרחשת הבקשה. אם המסמך של (מסגרת משנה) נטען (type הוא main_frame או sub_frame), frameId מציין את המזהה של המסגרת הזו, ולא את המזהה של המסגרת החיצונית. מזהי המסגרות הם ייחודיים בתוך כרטיסייה.

      • ‫Chrome 106 ואילך

        סוג המסגרת שבה התרחשה הבקשה.

      • יוזם הפעילות

        מחרוזת אופציונלי

        ‫Chrome 63 ואילך

        המקור שבו נוצרה הבקשה. הערך הזה לא משתנה בהפניות אוטומטיות. אם זהו מקור אטום, המערכת תשתמש במחרוזת 'null'.

      • method

        מחרוזת

        שיטת HTTP רגילה.

      • parentDocumentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        ה-UUID של מסמך האב שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        המזהה של המסגרת שעוטפת את המסגרת ששלחה את הבקשה. הערך הוא ‎-1 אם לא קיים פריים אב.

      • requestId

        מחרוזת

        מזהה הבקשה. מזהי הבקשות הם ייחודיים בסשן דפדפן. כתוצאה מכך, אפשר להשתמש בהם כדי לקשר בין אירועים שונים של אותה בקשה.

      • responseHeaders

        ‫HttpHeaders אופציונלי

        כותרות התגובה של HTTP שהתקבלו עם התגובה הזו.

      • securityInfo

        ‫SecurityInfo אופציונלי

        ‫Chrome 144 ואילך

        מידע על חיבור ה-TLS/QUIC שמשמש לחיבור הבסיסי. הערך הזה מסופק רק אם הפרמטר securityInfo מצוין בפרמטר extraInfoSpec.

      • statusCode

        number

        ‫Chrome 43 ואילך

        קוד סטטוס של HTTP רגיל שמוחזר על ידי השרת.

      • statusLine

        מחרוזת

        שורת הסטטוס של תגובת HTTP או המחרוזת 'HTTP/0.9 200 OK' לתגובות HTTP/0.9 (כלומר, תגובות שאין להן שורת סטטוס).

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצעת הבקשה. הערך הוא ‎-1 אם הבקשה לא קשורה לכרטיסייה.

      • timeStamp

        number

        הזמן שבו האות הזה מופעל, באלפיות השנייה מאז ראשית הזמן.

      • סוג

        השימוש שייעשה במשאב המבוקש.

      • url

        מחרוזת

    • החזרות

      BlockingResponse | undefined

      אם מציינים 'חסימה' בפרמטר extraInfoSpec, רכיב ה-event listener צריך להחזיר אובייקט מהסוג הזה.

  • סינון
  • extraInfoSpec

onResponseStarted

chrome.webRequest.onResponseStarted.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnResponseStartedOptions[],
)

האירוע מופעל כשמתקבל הבייט הראשון של גוף התגובה. במקרה של בקשות HTTP, המשמעות היא ששורת הסטטוס וכותרות התגובה זמינות.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • documentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        המזהה הייחודי האוניברסלי (UUID) של המסמך ששולח את הבקשה.

      • ‫Chrome 106 ואילך

        מחזור החיים שבו המסמך נמצא.

      • frameId

        number

        הערך 0 מציין שהבקשה מתרחשת בפריים הראשי, וערך חיובי מציין את המזהה של פריים משני שבו מתרחשת הבקשה. אם המסמך של (מסגרת משנה) נטען (type הוא main_frame או sub_frame), frameId מציין את המזהה של המסגרת הזו, ולא את המזהה של המסגרת החיצונית. מזהי המסגרות הם ייחודיים בתוך כרטיסייה.

      • ‫Chrome 106 ואילך

        סוג המסגרת שבה התרחשה הבקשה.

      • fromCache

        בוליאני

        מציין אם התשובה הזו נמשכה ממטמון הדיסק.

      • יוזם הפעילות

        מחרוזת אופציונלי

        ‫Chrome 63 ואילך

        המקור שבו נוצרה הבקשה. הערך הזה לא משתנה בהפניות אוטומטיות. אם זהו מקור אטום, המערכת תשתמש במחרוזת 'null'.

      • ip

        מחרוזת אופציונלי

        כתובת ה-IP של השרת שאליו הבקשה נשלחה בפועל. שימו לב שזו יכולה להיות כתובת IPv6 מילולית.

      • method

        מחרוזת

        שיטת HTTP רגילה.

      • parentDocumentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        ה-UUID של מסמך האב שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        המזהה של המסגרת שעוטפת את המסגרת ששלחה את הבקשה. הערך הוא ‎-1 אם לא קיים פריים אב.

      • requestId

        מחרוזת

        מזהה הבקשה. מזהי הבקשות הם ייחודיים בסשן דפדפן. כתוצאה מכך, אפשר להשתמש בהם כדי לקשר בין אירועים שונים של אותה בקשה.

      • responseHeaders

        ‫HttpHeaders אופציונלי

        כותרות התגובה של HTTP שהתקבלו יחד עם התגובה הזו.

      • statusCode

        number

        קוד סטטוס של HTTP רגיל שמוחזר על ידי השרת.

      • statusLine

        מחרוזת

        שורת הסטטוס של התגובה ב-HTTP או המחרוזת 'HTTP/0.9 200 OK' לתגובות HTTP/0.9 (כלומר, תגובות שאין להן שורת סטטוס) או מחרוזת ריקה אם אין כותרות.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצעת הבקשה. הערך הוא ‎-1 אם הבקשה לא קשורה לכרטיסייה.

      • timeStamp

        number

        הזמן שבו האות הזה מופעל, באלפיות השנייה מאז ראשית הזמן.

      • סוג

        השימוש שייעשה במשאב המבוקש.

      • url

        מחרוזת

  • סינון
  • extraInfoSpec

onSendHeaders

chrome.webRequest.onSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnSendHeadersOptions[],
)

האירוע מופעל ממש לפני שבקשה עומדת להישלח לשרת (שינויים שבוצעו בקריאות חוזרות קודמות של onBeforeSendHeaders גלויים בזמן ההפעלה של onSendHeaders).

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • documentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        המזהה הייחודי האוניברסלי (UUID) של המסמך ששולח את הבקשה.

      • ‫Chrome 106 ואילך

        מחזור החיים שבו המסמך נמצא.

      • frameId

        number

        הערך 0 מציין שהבקשה מתרחשת בפריים הראשי, וערך חיובי מציין את המזהה של פריים משני שבו מתרחשת הבקשה. אם המסמך של (מסגרת משנה) נטען (type הוא main_frame או sub_frame), frameId מציין את המזהה של המסגרת הזו, ולא את המזהה של המסגרת החיצונית. מזהי המסגרות הם ייחודיים בתוך כרטיסייה.

      • ‫Chrome 106 ואילך

        סוג המסגרת שבה התרחשה הבקשה.

      • יוזם הפעילות

        מחרוזת אופציונלי

        ‫Chrome 63 ואילך

        המקור שבו נוצרה הבקשה. הערך הזה לא משתנה בהפניות אוטומטיות. אם זהו מקור אטום, המערכת תשתמש במחרוזת 'null'.

      • method

        מחרוזת

        שיטת HTTP רגילה.

      • parentDocumentId

        מחרוזת אופציונלי

        ‫Chrome 106 ואילך

        ה-UUID של מסמך האב שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        המזהה של המסגרת שעוטפת את המסגרת ששלחה את הבקשה. הערך הוא ‎-1 אם לא קיים פריים אב.

      • requestHeaders

        ‫HttpHeaders אופציונלי

        הכותרות של בקשת HTTP שנשלחו עם הבקשה הזו.

      • requestId

        מחרוזת

        מזהה הבקשה. מזהי הבקשות הם ייחודיים בסשן דפדפן. כתוצאה מכך, אפשר להשתמש בהם כדי לקשר בין אירועים שונים של אותה בקשה.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצעת הבקשה. הערך הוא ‎-1 אם הבקשה לא קשורה לכרטיסייה.

      • timeStamp

        number

        הזמן שבו האות הזה מופעל, באלפיות השנייה מאז ראשית הזמן.

      • סוג

        השימוש שייעשה במשאב המבוקש.

      • url

        מחרוזת

  • סינון
  • extraInfoSpec

    ‫OnSendHeadersOptions[] optional