chrome.tabs

תיאור

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

סקירה כללית

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

הרשאות

כדי להשתמש ברוב התכונות לא נדרשות הרשאות. לדוגמה: יצירת כרטיסייה חדשה, טעינה מחדש של כרטיסייה, מעבר לכתובת URL אחרת וכו'.

יש שלוש הרשאות שהמפתחים צריכים להכיר כשהם עובדים עם Tabs API.

ההרשאה 'כרטיסיות'
ההרשאה הזו לא מעניקה גישה למרחב השמות chrome.tabs. במקום זאת, היא מעניקה לתוסף את היכולת לקרוא ל-tabs.query() מול ארבעה מאפיינים רגישים במופעים של tabs.Tab: ‏ url,‏ pendingUrl,‏ title ו-favIconUrl.
הרשאות המארח
הרשאות מארח מאפשרות לתוסף לקרוא ולהריץ שאילתות על ארבעה מאפיינים רגישים של כרטיסייה תואמת:tabs.Tab הם יכולים גם ליצור אינטראקציה ישירה עם הכרטיסיות התואמות באמצעות שיטות כמו tabs.captureVisibleTab(),‏ tabs.executeScript(),‏ tabs.insertCSS() ו-tabs.removeCSS().
ההרשאה activeTab
‫
activeTab מעניקה לתוסף הרשאת מארח זמנית לכרטיסייה הנוכחית בתגובה להפעלה של המשתמש. בניגוד להרשאות מארח, activeTab לא מפעיל אזהרות.

מניפסט

בדוגמאות הבאות אפשר לראות איך להצהיר על כל הרשאה בקובץ המניפסט:

  {
    "name": "My extension",
    ...
    "permissions": [
      "tabs"
    ],
    ...
  }

  {
    "name": "My extension",
    ...
    "host_permissions": [
      "http://*/*",
      "https://*/*"
    ],
    ...
  }

  {
    "name": "My extension",
    ...
    "permissions": [
      "activeTab"
    ],
    ...
  }

תרחישים לדוגמה

בקטעים הבאים מפורטים כמה תרחישי שימוש נפוצים.

פתיחת דף של תוסף בכרטיסייה חדשה

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

background.js:

chrome.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    chrome.tabs.create({
      url: "onboarding.html"
    });
  }
});

קבלת הכרטיסייה הנוכחית

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

  async function getCurrentTab() {
    let queryOptions = { active: true, lastFocusedWindow: true };
    // `tab` will either be a `tabs.Tab` instance or `undefined`.
    let [tab] = await chrome.tabs.query(queryOptions);
    return tab;
  }

  function getCurrentTab(callback) {
    let queryOptions = { active: true, lastFocusedWindow: true };
    chrome.tabs.query(queryOptions, ([tab]) => {
      if (chrome.runtime.lastError)
      console.error(chrome.runtime.lastError);
      // `tab` will either be a `tabs.Tab` instance or `undefined`.
      callback(tab);
    });
  }

השתקת הכרטיסייה שצוינה

בדוגמה הזו אפשר לראות איך תוסף יכול להפעיל או להשבית את ההשתקה של כרטיסייה מסוימת.

  async function toggleMuteState(tabId) {
    const tab = await chrome.tabs.get(tabId);
    const muted = !tab.mutedInfo.muted;
    await chrome.tabs.update(tabId, {muted});
    console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
  }

  function toggleMuteState(tabId) {
    chrome.tabs.get(tabId, async (tab) => {
      let muted = !tab.mutedInfo.muted;
      await chrome.tabs.update(tabId, { muted });
      console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
    });
  }

העברת הכרטיסייה הנוכחית למיקום הראשון בלחיצה

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

  chrome.tabs.onActivated.addListener(moveToFirstPosition);

  async function moveToFirstPosition(activeInfo) {
    try {
      await chrome.tabs.move(activeInfo.tabId, {index: 0});
      console.log("Success.");
    } catch (error) {
      if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
        setTimeout(() => moveToFirstPosition(activeInfo), 50);
      } else {
        console.error(error);
      }
    }
  }

  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);

  function moveToFirstPositionMV2(activeInfo) {
    chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (chrome.runtime.lastError) {
        const error = chrome.runtime.lastError;
        if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
          setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
        } else {
          console.error(error);
        }
      } else {
        console.log("Success.");
      }
    });
  }

העברת הודעה לסקריפט תוכן של כרטיסייה שנבחרה

בדוגמה הזו אפשר לראות איך סקריפט של Service Worker בתוסף יכול לתקשר עם סקריפטים של תוכן בכרטיסיות ספציפיות בדפדפן באמצעות tabs.sendMessage().

function sendMessageToActiveTab(message) {
  const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await chrome.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}

דוגמאות לתוספים

לדוגמאות נוספות של תוספים ל-Tabs API, אפשר לעיין באפשרויות הבאות:

סוגים

MutedInfo

‫Chrome 46 ואילך

מצב ההשתקה של הכרטיסייה והסיבה לשינוי המצב האחרון.

מאפיינים

  • extensionId

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

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

  • מושתק

    בוליאני

    האם הכרטיסייה מושתקת (ההפעלה של הצליל נמנעת). יכול להיות שהכרטיסייה מושתקת גם אם לא הושמע בה צליל או אם לא מושמע בה צליל כרגע. שווה לערך שמוצג באינדיקטור של האודיו 'מושתק'.

  • reason

    ‫MutedInfoReason אופציונלי

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

MutedInfoReason

‫Chrome 46 ואילך

אירוע שגרם לשינוי במצב ההשתקה.

ספירה

‫user
פעולה של קלט של משתמשים הגדירה את מצב ההשתקה.

"capture"
התחיל צילום מסך של הכרטיסייה, ולכן מצב ההשתקה השתנה.

‫'extension'
תוסף, שמזוהה על ידי השדה extensionId, הגדיר את מצב ההשתקה.

Tab

מאפיינים

  • פעיל

    בוליאני

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

  • audible, אודיבל

    ‫boolean אופציונלי

    ‫Chrome 45 ואילך

    האם הכרטיסייה הפיקה צליל בשניות האחרונות (אבל יכול להיות שלא שומעים אותו אם הוא גם מושתק). מקביל לכך שמוצג האינדיקטור 'האודיו של הדובר'.

  • autoDiscardable

    בוליאני

    ‫Chrome 54 ואילך

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

  • דחית את

    בוליאני

    ‫Chrome 54 ואילך

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

  • favIconUrl

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

    כתובת ה-URL של סמל האתר של הכרטיסייה. המאפיין הזה מופיע רק אם לתוסף יש הרשאה "tabs" או הרשאות מארח לדף. יכול להיות שהערך יהיה מחרוזת ריקה אם הכרטיסייה נטענת.

  • במצב קפוא

    בוליאני

    ‫Chrome 132 ואילך

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

  • groupId

    number

    ‫Chrome 88 ואילך

    המזהה של הקבוצה שאליה הכרטיסייה שייכת.

  • גובה

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

    גובה הכרטיסייה בפיקסלים.

  • מודגש

    בוליאני

    אם הכרטיסייה מודגשת.

  • id [מזהה]

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

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

  • פרטי

    בוליאני

    האם הכרטיסייה נמצאת בחלון פרטי.

  • אינדקס

    number

    האינדקס של הכרטיסייה בחלון שלה, כשהספירה מתחילה מ-0.

  • lastAccessed

    number

    ‫Chrome 121 ואילך

    הפעם האחרונה שהכרטיסייה הפכה לפעילה בחלון שלה, כמספר אלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch).

  • mutedInfo

    ‫MutedInfo אופציונלי

    ‫Chrome 46 ואילך

    מצב ההשתקה של הכרטיסייה והסיבה לשינוי המצב האחרון.

  • openerTabId

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

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

  • pendingUrl

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

    ‫Chrome 79 ואילך

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

  • מוצמד

    בוליאני

    האם הכרטיסייה מוצמדת.

  • נבחר

    בוליאני

    הוצא משימוש

    במקומה יש להשתמש בtabs.Tab.highlighted.

    האם הכרטיסייה נבחרה.

  • sessionId

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

    מזהה הסשן שמשמש לזיהוי ייחודי של כרטיסייה שהתקבלה מ-API‏ sessions.

  • splitViewId

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

    ‫Chrome 140+‎

    המזהה של התצוגה המפוצלת שהכרטיסייה שייכת אליה.

  • status

    ‫TabStatus אופציונלי

    סטטוס הטעינה של הכרטיסייה.

  • title

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

    השם של הכרטיסייה. המאפיין הזה מופיע רק אם לתוסף יש הרשאה "tabs" או הרשאות מארח לדף.

  • url

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

    כתובת ה-URL האחרונה שבוצעה לגביה פעולת commit בפריים הראשי של הכרטיסייה. המאפיין הזה מופיע רק אם לתוסף יש הרשאה "tabs" או הרשאות מארח לדף. יכול להיות מחרוזת ריקה אם הכרטיסייה עדיין לא בוצעה. מידע נוסף מופיע במאמר Tab.pendingUrl.

  • רוחב

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

    רוחב הכרטיסייה בפיקסלים.

  • windowId

    number

    המזהה של החלון שמכיל את הכרטיסייה.

TabStatus

‫Chrome 44 ואילך

סטטוס הטעינה של הכרטיסייה.

ספירה

‫'unloaded'

‫"loading"

‫complete

WindowType

‫Chrome 44 ואילך

סוג החלון.

ספירה

‫'normal'

‫"popup"

‫"panel"

‫"app"

‎"devtools"

ZoomSettings

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

מאפיינים

  • defaultZoomFactor

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

    ‫Chrome 43 ואילך

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

  • מצב

    ‫ZoomSettingsMode optional

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

  • היקף

    ‫ZoomSettingsScope אופציונלי

    ההגדרה קובעת אם שינויי הזום יישמרו עבור המקור של הדף, או רק בכרטיסייה הזו. ברירת המחדל היא per-origin במצב automatic, ו-per-tab בכל מצב אחר.

ZoomSettingsMode

‫Chrome 44 ואילך

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

ספירה

'אוטומטי'
שינויי הזום מטופלים אוטומטית על ידי הדפדפן.

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

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

ZoomSettingsScope

‫Chrome 44 ואילך

ההגדרה קובעת אם שינויי הזום יישמרו עבור המקור של הדף, או רק בכרטיסייה הזו. ברירת המחדל היא per-origin במצב automatic, ו-per-tab בכל מצב אחר.

ספירה

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

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

מאפיינים

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

‫Chrome 92 ואילך

המספר המקסימלי של פעמים שאפשר לקרוא ל-captureVisibleTab בשנייה. השימוש ב-captureVisibleTab יקר, ולכן לא מומלץ להשתמש בו לעיתים קרובות מדי.

ערך

‫2

SPLIT_VIEW_ID_NONE

‫Chrome 140+‎

מזהה שמייצג את העובדה שלא מדובר בכרטיסייה מפוצלת.

ערך

‫-1

TAB_ID_NONE

‫Chrome 46 ואילך

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

ערך

‫-1

TAB_INDEX_NONE

‫Chrome 123 ואילך

אינדקס שמייצג את היעדר אינדקס של כרטיסייה ב-tab_strip.

ערך

‫-1

Methods

captureVisibleTab()

Promise
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)
: Promise<string>

מצלם את האזור הגלוי של הכרטיסייה הפעילה בחלון שצוין. כדי להפעיל את השיטה הזו, לתוסף צריכה להיות ההרשאה <all_urls> או ההרשאה activeTab. בנוסף לאתרים שאליהם תוספים יכולים לגשת בדרך כלל, השיטה הזו מאפשרת לתוספים לצלם אתרים רגישים שמוגבלים בדרך אחרת, כולל דפים עם סכימת chrome:, דפים של תוספים אחרים וכתובות URL מסוג data:. אפשר לצלם אתרים רגישים רק באמצעות ההרשאה activeTab. אפשר לתעד כתובות URL של קבצים רק אם ניתנה לתוסף גישה לקבצים.

פרמטרים

  • windowId

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

    חלון היעד. ברירת המחדל היא החלון הנוכחי.

  • options

    ‫ImageDetails אופציונלי

  • callback

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

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

    (dataUrl: string) => void

    • dataUrl

      מחרוזת

      כתובת URL של נתונים שמקודדת תמונה של האזור הגלוי בכרטיסייה שצולמה. אפשר להקצות אותו למאפיין src של רכיב img HTML לתצוגה.

החזרות

  • Promise<string>

    ‫Chrome 88 ואילך

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

connect()

chrome.tabs.connect(
  tabId: number,
  connectInfo?: object,
)
: runtime.Port

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

פרמטרים

  • tabId

    number

  • connectInfo

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

    • documentId

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

      ‫Chrome 106 ואילך

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

    • frameId

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

      פתיחת פורט למסגרת ספציפית שמזוהה על ידי frameId במקום לכל המסגרות בכרטיסייה.

    • שם

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

      מועבר אל onConnect עבור סקריפטים של תוכן שמקשיבים לאירוע החיבור.

החזרות

  • יציאה שאפשר להשתמש בה כדי לתקשר עם סקריפטים של תוכן שפועלים בכרטיסייה שצוינה. האירוע runtime.Port של היציאה מופעל אם הכרטיסייה נסגרת או לא קיימת.

create()

Promise
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)
: Promise<Tab>

יצירת כרטיסייה חדשה.

פרמטרים

  • createProperties

    אובייקט

    • פעיל

      ‫boolean אופציונלי

      האם הכרטיסייה צריכה להפוך לכרטיסייה הפעילה בחלון. ההגדרה לא משפיעה על המיקוד בחלון (ראו windows.update). ערך ברירת המחדל הוא true.

    • אינדקס

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

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

    • openerTabId

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

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

    • מוצמד

      ‫boolean אופציונלי

      האם הכרטיסייה צריכה להיות מוצמדת. ברירת המחדל היא false

    • נבחר

      ‫boolean אופציונלי

      הוצא משימוש

      צריך להשתמש בערך active.

      האם הכרטיסייה צריכה להפוך לכרטיסייה שנבחרה בחלון. ברירת המחדל היא true

    • splitWithTabId

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

      ‫Chrome 155+

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

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

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

      כתובת ה-URL שאליה הכרטיסייה תנווט בהתחלה. כתובות URL מוגדרות במלואן חייבות לכלול סכימה (כלומר, ‫'http://www.google.com', ולא 'www.google.com'). כתובות URL יחסיות הן יחסיות לדף הנוכחי בתוך התוסף. ברירת המחדל היא דף הכרטיסייה החדשה.

    • windowId

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

      החלון שבו ייפתח הכרטיסייה החדשה. ברירת המחדל היא החלון הנוכחי.

  • callback

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

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

    (tab: Tab) => void

    • Tab

      הכרטיסייה שנוצרה.

החזרות

  • Promise<Tab>

    ‫Chrome 88 ואילך

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

createSplit()

Promise Chrome 155+
chrome.tabs.createSplit(
  tabIds: [number, number],
  callback?: function,
)
: Promise<number>

פיצול של שתי כרטיסיות קיימות לתצוגה מפוצלת.

פרמטרים

  • tabIds

    [number, number]

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

    הם צריכים להיות סמוכים. הם לא יכולים להיות כבר בתצוגה מפוצלת. הם צריכים להיות באותו מצב של windowId, pinned ו-groupId.

  • callback

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

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

    (splitViewId: number) => void

    • splitViewId

      number

      המזהה של התצוגה המפוצלת החדשה שנוצרה ומכילה את הכרטיסיות שצוינו.

החזרות

  • Promise<number>

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

detectLanguage()

Promise
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)
: Promise<string>

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

פרמטרים

  • tabId

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

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

  • callback

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

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

    (language: string) => void

    • language

      מחרוזת

      קוד שפה לפי תקן ISO, כמו en או fr. רשימה מלאה של השפות שנתמכות בשיטה הזו זמינה ב-kLanguageInfoTable. הפונקציה בודקת את העמודות השנייה עד הרביעית ומחזירה את הערך הראשון שאינו NULL, למעט סינית פשוטה, שבה הפונקציה מחזירה zh-CN. אם השפה לא ידועה או לא מוגדרת, מוחזר הערך und.

החזרות

  • Promise<string>

    ‫Chrome 88 ואילך

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

discard()

Promise Chrome 54+
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)
: Promise<Tab | undefined>

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

פרמטרים

  • tabId

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

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

  • callback

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

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

    (tab?: Tab) => void

    • Tab

      כרטיסייה אופציונלי

      הכרטיסייה שהוצאה מהזיכרון, אם היא הוצאה מהזיכרון בהצלחה. אחרת, הערך הוא undefined.

החזרות

  • ‫Promise<Tab | undefined>

    ‫Chrome 88 ואילך

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

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

duplicate()

Promise
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)
: Promise<Tab | undefined>

משכפל כרטיסייה.

פרמטרים

  • tabId

    number

    המזהה של הכרטיסייה שרוצים לשכפל.

  • callback

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

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

    (tab?: Tab) => void

    • Tab

      כרטיסייה אופציונלי

      פרטים על הכרטיסייה המשוכפלת. המאפיינים url, pendingUrl, title ו-favIconUrl נכללים באובייקט tabs.Tab רק אם לתוסף יש הרשאה "tabs" או הרשאות מארח לדף.

החזרות

  • ‫Promise<Tab | undefined>

    ‫Chrome 88 ואילך

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

executeScript()

Promise &leq; MV2 הוצא משימוש מאז Chrome 91
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<any[] | undefined>

הוחלף על ידי scripting.executeScript ב-Manifest V3.

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

פרמטרים

  • tabId

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

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

  • פרטים

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

  • callback

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

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

    (result?: any[]) => void

    • תוצאה

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

      התוצאה של הסקריפט בכל פריים שמוזרק.

החזרות

  • Promise<any[] | undefined>

    ‫Chrome 88 ואילך

    ההבטחה מתקיימת אחרי שכל ה-JavaScript מורץ.

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

get()

Promise
chrome.tabs.get(
  tabId: number,
  callback?: function,
)
: Promise<Tab>

אחזור פרטים על הכרטיסייה שצוינה.

פרמטרים

  • tabId

    number

  • callback

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

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

    (tab: Tab) => void

החזרות

  • Promise<Tab>

    ‫Chrome 88 ואילך

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

getAllInWindow()

Promise &leq; MV2 יצא משימוש
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)
: Promise<Tab[]>

עליך להשתמש ב-tabs.query {windowId: windowId}.

מקבל פרטים על כל הכרטיסיות בחלון שצוין.

פרמטרים

  • windowId

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

    ברירת המחדל היא החלון הנוכחי.

  • callback

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

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

    (tabs: Tab[]) => void

    • כרטיסיות

      ‫Tab[]

החזרות

  • Promise<Tab[]>

    ‫Chrome 88 ואילך

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

getCurrent()

Promise
chrome.tabs.getCurrent(
  callback?: function,
)
: Promise<Tab | undefined>

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

פרמטרים

  • callback

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

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

    (tab?: Tab) => void

החזרות

  • ‫Promise<Tab | undefined>

    ‫Chrome 88 ואילך

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

getSelected()

Promise &leq; MV2 יצא משימוש
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)
: Promise<Tab>

עליך להשתמש ב-tabs.query {active: true}.

מחזירה את הכרטיסייה שנבחרה בחלון שצוין.

פרמטרים

  • windowId

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

    ברירת המחדל היא החלון הנוכחי.

  • callback

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

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

    (tab: Tab) => void

החזרות

  • Promise<Tab>

    ‫Chrome 88 ואילך

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

getZoom()

Promise
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)
: Promise<number>

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

פרמטרים

  • tabId

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

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

  • callback

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

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

    (zoomFactor: number) => void

    • zoomFactor

      number

      גורם הזום הנוכחי של הכרטיסייה.

החזרות

  • Promise<number>

    ‫Chrome 88 ואילך

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

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

getZoomSettings()

Promise
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)
: Promise<ZoomSettings>

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

פרמטרים

  • tabId

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

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

  • callback

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

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

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

      הגדרות הזום הנוכחיות של הכרטיסייה.

החזרות

  • Promise<ZoomSettings>

    ‫Chrome 88 ואילך

    ההבטחה מסתיימת עם הגדרות הזום הנוכחיות של הכרטיסייה.

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

goBack()

Promise Chrome 72+
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)
: Promise<void>

חזרה לדף הקודם, אם יש כזה.

פרמטרים

  • tabId

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

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

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    ‫Chrome 88 ואילך

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

goForward()

Promise Chrome 72+
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)
: Promise<void>

מעבר לדף הבא, אם יש כזה.

פרמטרים

  • tabId

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

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

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    ‫Chrome 88 ואילך

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

group()

Promise Chrome 88 ואילך
chrome.tabs.group(
  options: object,
  callback?: function,
)
: Promise<number>

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

פרמטרים

  • options

    אובייקט

    • createProperties

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

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

      • windowId

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

        החלון של הקבוצה החדשה. ברירת המחדל היא החלון הנוכחי.

    • groupId

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

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

    • tabIds

      מספר | [מספר, ...מספר[]]

      מזהה הכרטיסייה או רשימה של מזהי כרטיסיות שרוצים להוסיף לקבוצה שצוינה.

  • callback

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

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

    (groupId: number) => void

    • groupId

      number

      המזהה של הקבוצה שאליה נוספו הכרטיסיות.

החזרות

  • Promise<number>

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

highlight()

Promise
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)
: Promise<windows.Window>

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

פרמטרים

  • highlightInfo

    אובייקט

    • כרטיסיות

      number | number[]

      אינדקס כרטיסייה אחד או יותר להדגשה.

    • windowId

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

      החלון שמכיל את הכרטיסיות.

  • callback

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

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

    (window: Window) => void

    • חלון

      מכיל פרטים על החלון שהכרטיסיות שלו הודגשו.

החזרות

  • ‫Chrome 88 ואילך

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

insertCSS()

Promise &leq; MV2 הוצא משימוש מאז Chrome 91
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<void>

הוחלף על ידי scripting.insertCSS ב-Manifest V3.

הוספת CSS לדף. אפשר להסיר סגנונות שמוסיפים באמצעות השיטה הזו באמצעות scripting.removeCSS. פרטים נוספים מופיעים בקטע החדרה באמצעות תוכנה במסמך בנושא סקריפטים של תוכן.

פרמטרים

  • tabId

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

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

  • פרטים

    פרטים של טקסט ה-CSS שרוצים להוסיף. צריך להגדיר את המאפיין code או את המאפיין file, אבל אי אפשר להגדיר את שניהם בו-זמנית.

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    ‫Chrome 88 ואילך

    הפונקציה מחזירה ערך אחרי שכל ה-CSS הוכנס.

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

move()

Promise
chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)
: Promise<Tab | Tab[]>

העברה של כרטיסייה אחת או יותר למיקום חדש בחלון שלהן, או לחלון חדש. שימו לב שאפשר להעביר כרטיסיות רק לחלונות רגילים (window.type === "normal") ומחלונות רגילים.

פרמטרים

  • tabIds

    number | number[]

    מזהה הכרטיסייה או רשימה של מזהי כרטיסיות להעברה.

  • moveProperties

    אובייקט

    • אינדקס

      number

      המיקום שאליו רוצים להעביר את החלון. משתמשים ב--1 כדי להציב את הכרטיסייה בסוף החלון.

    • windowId

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

      ברירת המחדל היא החלון שבו הכרטיסייה פתוחה כרגע.

  • callback

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

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

    (tabs: Tab | Tab[]) => void

    • כרטיסיות

      ‫Tab | ‫Tab[]

      פרטים על הכרטיסיות שהועברו.

החזרות

  • Promise<Tab | Tab[]>

    ‫Chrome 88 ואילך

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

query()

Promise
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)
: Promise<Tab[]>

מחזירה את כל הכרטיסיות שיש להן את המאפיינים שצוינו, או את כל הכרטיסיות אם לא צוינו מאפיינים.

פרמטרים

  • queryInfo

    אובייקט

    • פעיל

      ‫boolean אופציונלי

      האם הכרטיסיות פעילות בחלונות שלהן.

    • audible, אודיבל

      ‫boolean אופציונלי

      ‫Chrome 45 ואילך

      האם אפשר לשמוע את הכרטיסיות.

    • autoDiscardable

      ‫boolean אופציונלי

      ‫Chrome 54 ואילך

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

    • currentWindow

      ‫boolean אופציונלי

      אם הכרטיסיות נמצאות בחלון הנוכחי.

    • דחית את

      ‫boolean אופציונלי

      ‫Chrome 54 ואילך

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

    • במצב קפוא

      ‫boolean אופציונלי

      ‫Chrome 132 ואילך

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

    • groupId

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

      ‫Chrome 88 ואילך

      המזהה של הקבוצה שהכרטיסיות נמצאות בה, או tabGroups.TAB_GROUP_ID_NONE אם הכרטיסיות לא קובצו.

    • מודגש

      ‫boolean אופציונלי

      אם הכרטיסיות מודגשות.

    • אינדקס

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

      המיקום של הכרטיסיות בחלונות שלהן.

    • lastFocusedWindow

      ‫boolean אופציונלי

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

    • מושתק

      ‫boolean אופציונלי

      ‫Chrome 45 ואילך

      אם הכרטיסיות מושתקות.

    • מוצמד

      ‫boolean אופציונלי

      אם הכרטיסיות מוצמדות.

    • splitViewId

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

      ‫Chrome 140+‎

      המספר הסידורי של התצוגה המפוצלת שבה הכרטיסיות נמצאות, או tabs.SPLIT_VIEW_ID_NONE אם הכרטיסיות לא נמצאות בתצוגה מפוצלת.

    • status

      ‫TabStatus אופציונלי

      סטטוס הטעינה של הכרטיסייה.

    • title

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

      התאמה של כותרות דפים לתבנית. המערכת מתעלמת מהמאפיין הזה אם לתוסף אין הרשאת "tabs" או הרשאות גישה למארח בדף.

    • url

      string | string[] אופציונלי

      התאמה של כרטיסיות לאחת או יותר תבניות URL. לא מתבצעת התאמה של מזהי פרגמנטים. המערכת מתעלמת מהמאפיין הזה אם לתוסף אין הרשאת "tabs" או הרשאות מארח לדף.

    • windowId

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

      המזהה של חלון ההורה, או windows.WINDOW_ID_CURRENT בשביל החלון הנוכחי.

    • windowType

      ‫WindowType אופציונלי

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

  • callback

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

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

    (result: Tab[]) => void

    • תוצאה

      ‫Tab[]

החזרות

  • Promise<Tab[]>

    ‫Chrome 88 ואילך

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

reload()

Promise
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)
: Promise<void>

טעינה מחדש של כרטיסייה

פרמטרים

  • tabId

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

    המזהה של הכרטיסייה לטעינה מחדש. ברירת המחדל היא הכרטיסייה שנבחרה בחלון הנוכחי.

  • reloadProperties

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

    • bypassCache

      ‫boolean אופציונלי

      האם לעקוף את השמירה במטמון המקומי. ברירת המחדל היא false.

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    ‫Chrome 88 ואילך

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

remove()

Promise
chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)
: Promise<void>

סוגר כרטיסייה אחת או יותר.

פרמטרים

  • tabIds

    number | number[]

    מזהה הכרטיסייה או רשימת מזהי הכרטיסיות שרוצים לסגור.

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    ‫Chrome 88 ואילך

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

removeCSS()

Promise Chrome 87 ואילך ‫&leq; MV2 הוצא משימוש מאז Chrome 91
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)
: Promise<void>

הוחלף על ידי scripting.removeCSS ב-Manifest V3.

הפונקציה מסירה מדף CSS שהוחדר בעבר על ידי קריאה ל-scripting.insertCSS.

פרמטרים

  • tabId

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

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

  • פרטים של הטקסט ב-CSS שרוצים להסיר. צריך להגדיר את המאפיין code או את המאפיין file, אבל אי אפשר להגדיר את שניהם בו-זמנית.

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    ‫Chrome 88 ואילך

    ההבטחה מתקיימת כשכל ה-CSS הוסר.

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

sendMessage()

Promise
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)
: Promise<any>

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

פרמטרים

  • tabId

    number

  • הודעה

    כל

    ההודעה לשליחה. ההודעה הזו צריכה להיות אובייקט שאפשר להמיר ל-JSON.

  • options

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

    • documentId

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

      ‫Chrome 106 ואילך

      שליחת הודעה למסמך ספציפי שמזוהה על ידי documentId במקום לכל המסגרות בכרטיסייה.

    • frameId

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

      שליחת הודעה למסגרת ספציפית שמזוהה על ידי frameId במקום לכל המסגרות בכרטיסייה.

  • callback

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

    ‫Chrome 99 ואילך

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

    (response: any) => void

    • תשובה

      כל

      אובייקט התגובה ב-JSON שנשלח על ידי ה-handler של ההודעה.

החזרות

  • Promise<any>

    ‫Chrome 99 ואילך

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

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

sendRequest()

Promise &leq; MV2 יצא משימוש
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)
: Promise<any>

במקומה יש להשתמש בruntime.sendMessage.

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

פרמטרים

  • tabId

    number

  • בקשה

    כל

  • callback

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

    ‫Chrome 99 ואילך

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

    (response: any) => void

    • תשובה

      כל

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

החזרות

  • Promise<any>

    ‫Chrome 99 ואילך

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

setZoom()

Promise
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)
: Promise<void>

מגדילה את התצוגה של כרטיסייה ספציפית.

פרמטרים

  • tabId

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

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

  • zoomFactor

    number

    גורם הזום החדש. הערך 0 מגדיר את הכרטיסייה לגורם הזום הנוכחי שמוגדר כברירת מחדל. ערכים שגדולים מ-0 מציינים גורם שינוי גודל (אולי לא ברירת המחדל) לכרטיסייה.

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    ‫Chrome 88 ואילך

    הבעיה נפתרת אחרי שינוי גורם ההגדלה.

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

setZoomSettings()

Promise
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • tabId

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

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

  • zoomSettings

    הגדרת אופן הטיפול בשינויים בזום וההיקף שלהם.

  • callback

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

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

    () => void

החזרות

  • Promise<void>

    ‫Chrome 88 ואילך

    הבעיה נפתרת אחרי שמשנים את הגדרות הזום.

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

ungroup()

Promise Chrome 88 ואילך
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
  callback?: function,
)
: Promise<void>

הסרה של כרטיסייה אחת או יותר מהקבוצות שלהן. אם קבוצות מסוימות מתרוקנות, הן נמחקות.

פרמטרים

  • tabIds

    מספר | [מספר, ...מספר[]]

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

  • callback

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

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

    () => void

החזרות

  • Promise<void>

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

unsplit()

Promise Chrome 155+
chrome.tabs.unsplit(
  splitViewId: number,
  callback?: function,
)
: Promise<void>

הכרטיסיות בתצוגה המפוצלת יוצגו ככרטיסיות נפרדות.

פרמטרים

  • splitViewId

    number

    המזהה של התצוגה המפוצלת שרוצים להפריד.

  • callback

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

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

    () => void

החזרות

  • Promise<void>

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

update()

Promise
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)
: Promise<Tab | undefined>

משנה את המאפיינים של כרטיסייה. מאפיינים שלא מצוינים ב-updateProperties לא משתנים.

פרמטרים

  • tabId

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

    ברירת המחדל היא הכרטיסייה שנבחרה בחלון הנוכחי.

  • updateProperties

    אובייקט

    • פעיל

      ‫boolean אופציונלי

      האם הכרטיסייה צריכה להיות פעילה. ההגדרה הזו לא משפיעה על המיקוד בחלון (ראו windows.update).

    • autoDiscardable

      ‫boolean אופציונלי

      ‫Chrome 54 ואילך

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

    • מודגש

      ‫boolean אופציונלי

      הוספה או הסרה של הכרטיסייה מהבחירה הנוכחית.

    • מושתק

      ‫boolean אופציונלי

      ‫Chrome 45 ואילך

      האם להשתיק את הכרטיסייה.

    • openerTabId

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

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

    • מוצמד

      ‫boolean אופציונלי

      האם הכרטיסייה צריכה להיות מוצמדת.

    • נבחר

      ‫boolean אופציונלי

      הוצא משימוש

      צריך להשתמש בהדגשה.

      האם הכרטיסייה צריכה להיות מסומנת.

    • url

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

      כתובת URL שאליה הכרטיסייה תעבור. אין תמיכה בכתובות URL של JavaScript. במקום זאת, צריך להשתמש ב-scripting.executeScript.

  • callback

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

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

    (tab?: Tab) => void

    • Tab

      כרטיסייה אופציונלי

      פרטים על הכרטיסייה המעודכנת. המאפיינים url, pendingUrl, title ו-favIconUrl נכללים באובייקט tabs.Tab רק אם לתוסף יש הרשאה "tabs" או הרשאות מארח לדף.

החזרות

  • ‫Promise<Tab | undefined>

    ‫Chrome 88 ואילך

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

אירועים

onActivated

chrome.tabs.onActivated.addListener(
  callback: function,
)

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

פרמטרים

  • callback

    פונקציה

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

    (activeInfo: object) => void

    • activeInfo

      אובייקט

      • tabId

        number

        המזהה של הכרטיסייה שהפכה לפעילה.

      • windowId

        number

        המזהה של החלון שבו הכרטיסייה הפעילה השתנתה.

onActiveChanged

‫&leq; MV2 הוצאה משימוש
chrome.tabs.onActiveChanged.addListener(
  callback: function,
)

במקומה יש להשתמש בtabs.onActivated.

מופעל כשמשתנה הכרטיסייה שנבחרה בחלון. שימו לב: יכול להיות שכתובת ה-URL של הכרטיסייה לא תוגדר בזמן שהאירוע הזה מופעל, אבל אתם יכולים להאזין לאירועים מסוג tabs.onUpdated כדי לקבל התראה כשכתובת URL מוגדרת.

פרמטרים

  • callback

    פונקציה

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

    (tabId: number, selectInfo: object) => void

    • tabId

      number

    • selectInfo

      אובייקט

      • windowId

        number

        המזהה של החלון שבו הכרטיסייה שנבחרה השתנתה.

onAttached

chrome.tabs.onAttached.addListener(
  callback: function,
)

האירוע מופעל כשכרטיסייה מצורפת לחלון, למשל כי היא הועברה בין חלונות.

פרמטרים

  • callback

    פונקציה

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

    (tabId: number, attachInfo: object) => void

    • tabId

      number

    • attachInfo

      אובייקט

      • newPosition

        number

      • newWindowId

        number

onCreated

chrome.tabs.onCreated.addListener(
  callback: function,
)

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

פרמטרים

  • callback

    פונקציה

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

    (tab: Tab) => void

onDetached

chrome.tabs.onDetached.addListener(
  callback: function,
)

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

פרמטרים

  • callback

    פונקציה

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

    (tabId: number, detachInfo: object) => void

    • tabId

      number

    • detachInfo

      אובייקט

      • oldPosition

        number

      • oldWindowId

        number

onHighlightChanged

‫&leq; MV2 הוצאה משימוש
chrome.tabs.onHighlightChanged.addListener(
  callback: function,
)

במקומה יש להשתמש בtabs.onHighlighted.

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

פרמטרים

  • callback

    פונקציה

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

    (selectInfo: object) => void

    • selectInfo

      אובייקט

      • tabIds

        number[]

        כל הכרטיסיות המודגשות בחלון.

      • windowId

        number

        החלון שהכרטיסיות שלו השתנו.

onHighlighted

chrome.tabs.onHighlighted.addListener(
  callback: function,
)

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

פרמטרים

  • callback

    פונקציה

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

    (highlightInfo: object) => void

    • highlightInfo

      אובייקט

      • tabIds

        number[]

        כל הכרטיסיות המודגשות בחלון.

      • windowId

        number

        החלון שהכרטיסיות שלו השתנו.

onMoved

chrome.tabs.onMoved.addListener(
  callback: function,
)

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

פרמטרים

  • callback

    פונקציה

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

    (tabId: number, moveInfo: object) => void

    • tabId

      number

    • moveInfo

      אובייקט

      • fromIndex

        number

      • toIndex

        number

      • windowId

        number

onRemoved

chrome.tabs.onRemoved.addListener(
  callback: function,
)

מופעל כשסוגרים כרטיסייה.

פרמטרים

  • callback

    פונקציה

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

    (tabId: number, removeInfo: object) => void

    • tabId

      number

    • removeInfo

      אובייקט

      • isWindowClosing

        בוליאני

        הערך הוא True אם הכרטיסייה נסגרה כי חלון האב שלה נסגר.

      • windowId

        number

        החלון שהכרטיסייה שלו נסגרה.

onReplaced

chrome.tabs.onReplaced.addListener(
  callback: function,
)

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

פרמטרים

  • callback

    פונקציה

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

    (addedTabId: number, removedTabId: number) => void

    • addedTabId

      number

    • removedTabId

      number

onSelectionChanged

‫&leq; MV2 הוצאה משימוש
chrome.tabs.onSelectionChanged.addListener(
  callback: function,
)

במקומה יש להשתמש בtabs.onActivated.

מופעל כשמשתנה הכרטיסייה שנבחרה בחלון.

פרמטרים

  • callback

    פונקציה

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

    (tabId: number, selectInfo: object) => void

    • tabId

      number

    • selectInfo

      אובייקט

      • windowId

        number

        המזהה של החלון שבו הכרטיסייה שנבחרה השתנתה.

onUpdated

chrome.tabs.onUpdated.addListener(
  callback: function,
)

מופעל כשכרטיסייה מתעדכנת.

פרמטרים

  • callback

    פונקציה

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

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      number

    • changeInfo

      אובייקט

      • audible, אודיבל

        ‫boolean אופציונלי

        ‫Chrome 45 ואילך

        המצב החדש של האודיו בכרטיסייה.

      • autoDiscardable

        ‫boolean אופציונלי

        ‫Chrome 54 ואילך

        המצב החדש של הכרטיסייה, שניתן להשבתה אוטומטית.

      • דחית את

        ‫boolean אופציונלי

        ‫Chrome 54 ואילך

        המצב החדש של הכרטיסייה אחרי ההסרה.

      • favIconUrl

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

        כתובת ה-URL החדשה של סמל האתר בכרטיסייה.

      • במצב קפוא

        ‫boolean אופציונלי

        ‫Chrome 132 ואילך

        הסטטוס החדש של הכרטיסייה שהוקפאה.

      • groupId

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

        ‫Chrome 88 ואילך

        הקבוצה החדשה של הכרטיסייה.

      • mutedInfo

        ‫MutedInfo אופציונלי

        ‫Chrome 46 ואילך

        הסטטוס החדש של הכרטיסייה (השתקה) והסיבה לשינוי.

      • מוצמד

        ‫boolean אופציונלי

        המצב החדש של הכרטיסייה (מוצמדת או לא).

      • splitViewId

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

        ‫Chrome 140+‎

        התצוגה המפוצלת החדשה של הכרטיסייה.

      • status

        ‫TabStatus אופציונלי

        סטטוס הטעינה של הכרטיסייה.

      • title

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

        ‫Chrome 48 ואילך

        השם החדש של הכרטיסייה.

      • url

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

        כתובת ה-URL של הכרטיסייה אם היא השתנתה.

    • Tab

onZoomChange

chrome.tabs.onZoomChange.addListener(
  callback: function,
)

מופעל כשמבצעים זום בכרטיסייה.

פרמטרים

  • callback

    פונקציה

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

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      אובייקט

      • newZoomFactor

        number

      • oldZoomFactor

        number

      • tabId

        number

      • zoomSettings