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 optional

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

ZoomSettingsMode

Chrome 44 ואילך

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

ספירה

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

manual
מבטל את הטיפול האוטומטי בשינויי זום. האירוע 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 של נתונים. אפשר לצלם אתרים רגישים רק באמצעות ההרשאה 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

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

      בהמתנה

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

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

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

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

    • windowId

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

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

  • callback

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

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

    (tab: Tab) => void

    • Tab

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

החזרות

  • Promise<Tab>

    Chrome 88 ואילך

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

createSplit()

Promise בהמתנה
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

      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

      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

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

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

  • פרטים

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

  • 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

    • Tab

      Tab אופציונלי

החזרות

  • 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

      number | [number, ...number[]]

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

  • 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 שרוצים להוסיף. צריך להגדיר את מאפיין הקוד או את מאפיין הקובץ, אבל אי אפשר להגדיר את שניהם בו-זמנית.

  • 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

      מחרוזת | מערך של מחרוזות אופציונלי

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

  • 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 שנשלח על ידי המטפל בהודעה.

החזרות

  • Promise<any>

    Chrome 99 ואילך

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

    התמיכה ב-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

    number | [number, ...number[]]

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

  • callback

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

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

    () => void

החזרות

  • Promise<void>

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

unsplit()

Promise בהמתנה
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

      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,
)

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