chrome.webRequest

refresh date: 2026-09-25 robots: noindex

תיאור

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

הרשאות

webRequest

מניפסט

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

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

החל מגרסה 108 של Chrome, אפשר לספק פרטי כניסה באופן אסינכרוני לאירועים של 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
מופעל כשלא ניתן לעבד בקשה בהצלחה.

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

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

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

  • אישור
  • סמל המטמון
  • חיבור
  • אורך התוכן
  • מארח
  • If-Modified-Since
  • If-None-Match
  • If-Range
  • נתונים חלקיים
  • Pragma
  • Proxy-Authorization
  • Proxy-Connection
  • קידוד העברה

החל מגרסה 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.

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

  • מקור

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

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

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

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

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

‫webRequest API חושף רק בקשות שלתוסף יש הרשאה לראות, בהתאם להרשאות המארח שלו. בנוסף, אפשר לגשת רק לסכימות הבאות: 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 ובקשות רגישות אחרות שחיוניות לפונקציונליות של הדפדפן. בנוסף, בקשות XMLHttpRequest סינכרוניות מהתוסף מוסתרות מגורמים מטפלים באירועים שחוסמים, כדי למנוע מבוי סתום. שימו לב: בחלק מהסכימות הנתמכות, קבוצת האירועים הזמינים עשויה להיות מוגבלת בגלל אופי הפרוטוקול התואם. לדוגמה, עבור הסכימה file:, אפשר לשלוח רק את onBeforeRequest, onResponseStarted, onCompleted ו-onErrorOccurred.

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

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

אין תמיכה בהפניות אוטומטיות לבקשות WebSocket.

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

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

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

מושגים

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

מזהי בקשות

לכל בקשה יש מזהה בקשה. המזהה הזה ייחודי לסשן בדפדפן ולהקשר של התוסף. הוא נשאר קבוע במהלך מחזור החיים של הבקשה, ואפשר להשתמש בו כדי להתאים אירועים לאותה בקשה. חשוב לשים לב שכמה בקשות HTTP ממופות לבקשה אחת לאחזור מהרשת במקרה של הפניית 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() מקבלת פונקציית קריאה חוזרת (callback) חובה בתור הפרמטר הראשון. לפונקציית הקריאה החוזרת הזו מועבר מילון שמכיל מידע על הבקשה הנוכחית לכתובת 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

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

פתרון מחלוקות

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

שמירה במטמון

ב-Chrome יש שני סוגי מטמון – מטמון בדיסק ומטמון מהיר מאוד בזיכרון. משך החיים של מטמון בזיכרון קשור למשך החיים של תהליך רינדור, שתואם בערך לכרטיסייה. בקשות שנענות מהמטמון בזיכרון לא גלויות ל-API של בקשות לאחזור מהרשת. אם ה-request handler משנה את ההתנהגות שלו (לדוגמה, ההתנהגות שלפיה בקשות נחסמות), יכול להיות שרענון פשוט של הדף לא יכבד את ההתנהגות שהשתנתה. כדי לוודא שהשינוי בהתנהגות יתבצע, צריך להפעיל את handlerBehaviorChanged() כדי לנקות את מטמון הזיכרון. אבל אל תעשו את זה לעיתים קרובות, כי ניקוי המטמון הוא פעולה יקרה מאוד. אין צורך להפעיל את 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 מסוג blocking. מאפשר לגורם המטפל באירועים לשנות בקשות לאחזור מהרשת.

מאפיינים

  • authCredentials

    object optional

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

    • סיסמה

      מחרוזת

    • שם משתמש

      מחרוזת

  • ביטול

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

    אם הערך הוא true, הבקשה מבוטלת. כך הבקשה לא תישלח. אפשר להשתמש בזה כתגובה לאירועים 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 ואילך

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

טיפוסים בני מנייה (enum)

ArrayBuffer

מחרוזת

HttpHeaders

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

סוג

object[]‎

מאפיינים

  • binaryValue

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

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

  • שם

    מחרוזת

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

  • ערך

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

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

IgnoredActionType

Chrome 70 ואילך

טיפוסים בני מנייה (enum)

"redirect"

"request_headers"

"response_headers"

"auth_credentials"

OnAuthRequiredOptions

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

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

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

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

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

OnBeforeRedirectOptions

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

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

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

OnBeforeRequestOptions

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

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

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

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

OnBeforeSendHeadersOptions

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

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

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

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

OnCompletedOptions

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

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

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

OnErrorOccurredOptions

‫Chrome מגרסה 79 ואילך

ערך

"extraHeaders"

OnHeadersReceivedOptions

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

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

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

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

"securityInfo"
מציין שצריך לכלול את SecurityInfo באירוע.

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

OnResponseStartedOptions

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

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

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

OnSendHeadersOptions

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

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

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

RequestFilter

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

מאפיינים

  • tabId

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

  • סוגים

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

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

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

    string[]‎

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

  • windowId

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

ResourceType

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

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

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

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

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

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

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

‫"object"
מגדיר את המשאב כאובייקט.

"xmlhttprequest"
מציין שהמשאב הוא XMLHttpRequest.

"ping"
מציין שהמשאב הוא פינג.

"csp_report"
מציין שהמשאב הוא דוח של Content Security Policy‏ (CSP).

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

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

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

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

SecurityInfo

‫Chrome מגרסה 144 ואילך

מאפיינים

  • אישורים

    object[]‎

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

    • טביעת אצבע

      אובייקט

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

      • sha256

        מחרוזת

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

    • rawDER

      ‫ArrayBuffer אופציונלי

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

  • מדינה (State)

    מחרוזת

    מצב החיבור. אחת מהאפשרויות: מאובטח, לא מאובטח, פגום.

UploadData

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

מאפיינים

  • בייטים

    any optional

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

  • קובץ

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

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

מאפיינים

MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES

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

ערך

20

Methods

handlerBehaviorChanged()

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

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

פרמטרים

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

    ‫Chrome מגרסה 116 ואילך

    הבטחות נתמכות רק ב-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

      function optional

      Chrome 58 ואילך

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

      (response: BlockingResponse) => void

    • החזרות

      BlockingResponse | undefined

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

  • סינון
  • extraInfoSpec

    OnAuthRequiredOptions[] אופציונלי

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

    OnBeforeRedirectOptions[] אופציונלי

onBeforeRequest

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

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

פרמטרים

  • callback

    פונקציה

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

    (details: object) => BlockingResponse | undefined

    • פרטים

      אובייקט

      • documentId

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

        ‫Chrome מגרסה 106 ואילך

        ה-UUID של המסמך ששולח את הבקשה.

      • 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

        object optional

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

        • error

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

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

        • formData

          object optional

          אם שיטת הבקשה היא 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

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

  • סינון
  • extraInfoSpec

    OnBeforeRequestOptions[] אופציונלי

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

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

  • סינון
  • extraInfoSpec

    OnBeforeSendHeadersOptions[] אופציונלי

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[] אופציונלי

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

      אם צוין "blocking" בפרמטר "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[] אופציונלי