תיאור
משתמשים ב-API של chrome.tabs כדי לבצע פעולות במערכת הכרטיסיות של הדפדפן. אתם יכולים להשתמש ב-API הזה כדי ליצור, לשנות ולסדר מחדש כרטיסיות בדפדפן.
Tabs API לא רק מציע תכונות לניהול כרטיסיות, אלא גם יכול לזהות את השפה של הכרטיסייה, לצלם צילום מסך ולתקשר עם סקריפטים של תוכן בכרטיסייה.
הרשאות
כדי להשתמש ברוב התכונות לא צריך הרשאות. לדוגמה: יצירת כרטיסייה חדשה, טעינה מחדש של כרטיסייה, ניווט לכתובת URL אחרת וכו'.
יש שלוש הרשאות שהמפתחים צריכים להכיר כשהם עובדים עם Tabs API.
- ההרשאה "כרטיסיות"
ההרשאה הזו לא נותנת גישה למרחב השמות
browser.tabs. במקום זאת, היא מעניקה לתוסף את היכולת להפעיל אתtabs.query()על ארבעה מאפיינים רגישים במופעים שלtabs.Tab:url,pendingUrl,titleו-favIconUrl.{ "name": "My extension", ... "permissions": [ "tabs" ], ... }- הרשאות למארחים
הרשאות מארח מאפשרות לתוסף לקרוא ולשלוח שאילתות לגבי ארבעת המאפיינים הרגישים של כרטיסייה תואמת ב-
tabs.Tab. הם יכולים גם לבצע פעולות ישירות בכרטיסיות התואמות באמצעות שיטות כמוtabs.captureVisibleTab(),scripting.executeScript(),scripting.insertCSS()ו-scripting.removeCSS().{ "name": "My extension", ... "host_permissions": [ "http://*/*", "https://*/*" ], ... }- ההרשאה activeTab
activeTabמעניקה לתוסף הרשאת מארח זמנית לכרטיסייה הנוכחית בתגובה להפעלה של המשתמש. בניגוד להרשאות מארח,activeTabלא מפעיל אזהרות.{ "name": "My extension", ... "permissions": [ "activeTab" ], ... }
תרחישים לדוגמה
בקטעים הבאים מפורטים כמה תרחישים נפוצים לדוגמה.
פתיחת דף של תוסף בכרטיסייה חדשה
דפוס נפוץ בתוספים הוא לפתוח דף הדרכה למשתמשים חדשים בכרטיסייה חדשה כשהתוסף מותקן. בדוגמה הבאה אפשר לראות איך עושים את זה.
background.js:
browser.runtime.onInstalled.addListener(({reason}) => {
if (reason === 'install') {
browser.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 browser.tabs.query(queryOptions);
return tab;
}
function getCurrentTab(callback) {
let queryOptions = { active: true, lastFocusedWindow: true };
browser.tabs.query(queryOptions, ([tab]) => {
if (browser.runtime.lastError)
console.error(browser.runtime.lastError);
// `tab` will either be a `tabs.Tab` instance or `undefined`.
callback(tab);
});
}
השתקת הכרטיסייה שצוינה
בדוגמה הזו אפשר לראות איך תוסף יכול להפעיל או להשבית את ההשתקה בכרטיסייה מסוימת.
async function toggleMuteState(tabId) {
const tab = await browser.tabs.get(tabId);
const muted = !tab.mutedInfo.muted;
await browser.tabs.update(tabId, {muted});
console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
}
function toggleMuteState(tabId) {
browser.tabs.get(tabId, async (tab) => {
let muted = !tab.mutedInfo.muted;
await browser.tabs.update(tabId, { muted });
console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
});
}
העברת הכרטיסייה הנוכחית למיקום הראשון בלחיצה
בדוגמה הזו אפשר לראות איך להעביר כרטיסייה בזמן שגרירה מתבצעת או לא מתבצעת. בדוגמה הזו משתמשים ב-browser.tabs.move, אבל אפשר להשתמש באותו דפוס המתנה לקריאות אחרות שמשנות כרטיסיות בזמן שמתבצעת גרירה.
browser.tabs.onActivated.addListener(moveToFirstPosition);
async function moveToFirstPosition(activeInfo) {
try {
await browser.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);
}
}
}
browser.tabs.onActivated.addListener(moveToFirstPositionMV2);
function moveToFirstPositionMV2(activeInfo) {
browser.tabs.move(activeInfo.tabId, { index: 0 }, () => {
if (browser.runtime.lastError) {
const error = browser.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 browser.tabs.query({ active: true, lastFocusedWindow: true });
const response = await browser.tabs.sendMessage(tab.id, message);
// TODO: Do something with the response.
}
דוגמאות לתוספים
לדוגמאות נוספות של תוספים ל-Tabs API, אפשר לעיין באחת מהאפשרויות הבאות:
סוגים
MutedInfo
מצב ההשתקה של הכרטיסייה והסיבה לשינוי האחרון במצב.
מאפיינים
-
extensionId
מחרוזת אופציונלי
המזהה של התוסף ששינה את מצב ההשתקה. הערך לא מוגדר אם הסיבה לשינוי האחרון במצב ההשתקה היא לא תוסף.
-
מושתק
בוליאני
אם הכרטיסייה מושתקת (לא משמיעה צלילים). יכול להיות שהכרטיסייה תושתק גם אם לא הושמע בה אודיו או אם לא מושמע בה אודיו כרגע. שווה ערך למצב שבו מוצג האינדיקטור של האודיו "מושתק".
-
reason
MutedInfoReason אופציונלי
הסיבה להשתקה או לביטול ההשתקה של הכרטיסייה. לא מוגדר אם מצב ההשתקה של הכרטיסייה לא השתנה אף פעם.
MutedInfoReason
אירוע שגרם לשינוי במצב ההשתקה.
טיפוסים בני מנייה (enum)
"user"
פעולת קלט של משתמש הגדירה את מצב ההשתקה.
"capture"
התחילה הקלטה של הכרטיסייה, מה שגרם לשינוי הסטטוס ל"מושתק".
"extension"
תוסף, שמזוהה באמצעות השדה extensionId, הגדיר את מצב ההשתקה.
Tab
מאפיינים
-
פעיל
בוליאני
אם הכרטיסייה פעילה בחלון שלה. זה לא בהכרח אומר שהחלון נמצא במיקוד.
-
audible, אודיבל
בוליאני אופציונלי
Chrome 45 ואילך browser.* מגרסת Chrome 148אם הכרטיסייה הפיקה צליל בשניות האחרונות (אבל יכול להיות שלא שומעים אותו אם היא גם מושתקת). שווה ערך לשאלה אם האינדיקטור "אודיו של הדובר" מוצג.
-
autoDiscardable
בוליאני
Chrome 54 ואילך browser.* מגרסה 148 של Chromeההגדרה קובעת אם הדפדפן יכול לסגור את הכרטיסייה באופן אוטומטי כשאין מספיק משאבים.
-
דחית את
בוליאני
Chrome 54 ואילך browser.* מגרסה 148 של Chromeאם הכרטיסייה נסגרה. כרטיסייה שנמחקה היא כרטיסייה שהתוכן שלה נפרק מהזיכרון, אבל היא עדיין גלויה בשורת הכרטיסיות. התוכן שלו נטען מחדש בפעם הבאה שהוא מופעל.
-
favIconUrl
מחרוזת אופציונלי
כתובת ה-URL של סמל האתר של הכרטיסייה. המאפיין הזה קיים רק אם לתוסף יש את ההרשאה
"tabs"או הרשאות מארח לדף. הוא יכול להיות גם מחרוזת ריקה אם הכרטיסייה נטענת. -
במצב קפוא
בוליאני
Chrome 132 ואילך browser.* מגרסה Chrome 148אם הכרטיסייה קפואה. כרטיסייה מוקפאת לא יכולה לבצע משימות, כולל גורמים מטפלים באירועים או טיימרים. היא גלויה ברצועת הכרטיסיות והתוכן שלה נטען בזיכרון. הוא מופשר כשהוא מופעל.
-
groupId
number
Chrome 88 ואילך browser.* מגרסה 148 של Chromeהמזהה של הקבוצה שהכרטיסייה שייכת אליה.
-
גובה
מספר אופציונלי
גובה הכרטיסייה בפיקסלים.
-
מודגש
בוליאני
אם הכרטיסייה מודגשת.
-
id [מזהה]
מספר אופציונלי
המזהה של הכרטיסייה. מזהי הכרטיסיות הם ייחודיים בסשן של הדפדפן. במקרים מסוימים, יכול להיות שלא יוקצה מזהה לכרטיסייה. לדוגמה, כששולחים שאילתה לכרטיסיות זרות באמצעות ה-API של
sessions, יכול להיות שיופיע מזהה סשן. אפשר גם להגדיר את מזהה הכרטיסייה לערךchrome.tabs.TAB_ID_NONEעבור אפליקציות וחלונות של כלי פיתוח. -
גלישה בסתר
בוליאני
אם הכרטיסייה נמצאת בחלון פרטי.
-
אינדקס
number
האינדקס שמתחיל בספרה אפס של הכרטיסייה בחלון שלה.
-
lastAccessed
number
Chrome 121 ואילך browser.* מ-Chrome 148 ואילךהפעם האחרונה שבה הכרטיסייה הפכה לפעילה בחלון שלה, כמספר אלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch).
-
mutedInfo
MutedInfo אופציונלי
Chrome 46 ואילך browser.* מ-Chrome 148מצב ההשתקה של הכרטיסייה והסיבה לשינוי האחרון במצב.
-
openerTabId
מספר אופציונלי
המזהה של הכרטיסייה שפתחה את הכרטיסייה הזו, אם יש כזו. המאפיין הזה קיים רק אם הכרטיסייה שפתחה את הכרטיסייה הנוכחית עדיין קיימת.
-
pendingUrl
מחרוזת אופציונלי
Chrome 79 ואילך browser.* מגרסה 148 של Chromeכתובת ה-URL שהכרטיסייה מנווטת אליה, לפני שהיא נשלחה. המאפיין הזה קיים רק אם לתוסף יש את ההרשאה
"tabs"או הרשאות מארח לדף, ויש ניווט בהמתנה. -
מוצמד
בוליאני
אם הכרטיסייה מוצמדת.
-
נבחר
בוליאני
הוצא משימושצריך להשתמש ב-
tabs.Tab.highlighted.אם הכרטיסייה נבחרה.
-
sessionId
מחרוזת אופציונלי
מזהה הסשן שמשמש לזיהוי ייחודי של כרטיסייה שהתקבלה מ-API של
sessions. -
splitViewId
מספר אופציונלי
Chrome מגרסה 140 ואילך browser.* מגרסה 148 של Chromeהמזהה של התצוגה המפוצלת שהכרטיסייה שייכת אליה.
-
status
TabStatus אופציונלי
סטטוס הטעינה של הכרטיסייה.
-
title
מחרוזת אופציונלי
שם הכרטיסייה. המאפיין הזה קיים רק אם לתוסף יש את ההרשאה
"tabs"או הרשאות מארח לדף. -
url
מחרוזת אופציונלי
כתובת ה-URL האחרונה שהוקצתה למסגרת הראשית של הכרטיסייה. המאפיין הזה קיים רק אם לתוסף יש את ההרשאה
"tabs"או הרשאות מארח לדף. יכול להיות מחרוזת ריקה אם הכרטיסייה עדיין לא נשלחה. מידע נוסף מופיע ב-Tab.pendingUrl. -
רוחב
מספר אופציונלי
רוחב הכרטיסייה בפיקסלים.
-
windowId
number
המזהה של החלון שמכיל את הכרטיסייה.
TabStatus
סטטוס הטעינה של הכרטיסייה.
טיפוסים בני מנייה (enum)
"unloaded"
"loading"
"complete"
WindowType
סוג החלון.
טיפוסים בני מנייה (enum)
"normal"
"popup"
"panel"
"app"
"devtools"
ZoomSettings
ההגדרה קובעת איך שינויים בזום בכרטיסייה מטופלים ובאיזה היקף.
מאפיינים
-
defaultZoomFactor
מספר אופציונלי
Chrome 43 ואילך browser.* מגרסה 148 של Chromeמשמש להחזרת רמת הזום שמוגדרת כברירת מחדל לכרטיסייה הנוכחית בקריאות ל-tabs.getZoomSettings.
-
מצב
ZoomSettingsMode אופציונלי
מגדירה איך המערכת מטפלת בשינויים של מרחק התצוגה, כלומר, איזו ישות אחראית לשינוי קנה המידה של הדף בפועל. ברירת המחדל היא
automatic. -
היקף
ZoomSettingsScope אופציונלי
ההגדרה קובעת אם השינויים בזום נשמרים במקור של הדף, או שהם חלים רק בכרטיסייה הזו. ברירת המחדל היא
per-originבמצבautomatic, ו-per-tabבכל מצב אחר.
ZoomSettingsMode
מגדירה איך המערכת מטפלת בשינויים של מרחק התצוגה, כלומר, איזו ישות אחראית לשינוי קנה המידה של הדף בפועל. ברירת המחדל היא automatic.
טיפוסים בני מנייה (enum)
"automatic"
הדפדפן מטפל בשינויים של מרחק התצוגה באופן אוטומטי.
"manual"
מבטל את הטיפול האוטומטי בשינויים של מרחק התצוגה. האירוע onZoomChange עדיין יישלח, והתוסף צריך להאזין לאירוע הזה ולשנות את קנה המידה של הדף באופן ידני. במצב הזה אין תמיכה בשינוי מרחק התצוגה של per-origin, ולכן המערכת מתעלמת מהגדרת מרחק התצוגה של scope ומניחה שהיא per-tab.
"disabled"
השבתת כל אפשרויות הזום בכרטיסייה. הכרטיסייה חוזרת לרמת הזום שמוגדרת כברירת מחדל, והמערכת מתעלמת מכל הניסיונות לשנות את הזום.
ZoomSettingsScope
ההגדרה קובעת אם השינויים בזום נשמרים במקור של הדף, או שהם חלים רק בכרטיסייה הזו. ברירת המחדל היא per-origin במצב automatic, ו-per-tab בכל מצב אחר.
טיפוסים בני מנייה (enum)
"per-origin"
השינויים בזום נשמרים במקור של הדף שבוצע בו זום, כלומר, כל הכרטיסיות האחרות שנווטו לאותו מקור עוברות זום גם כן. בנוסף, שינויים ברמת הזום של per-origin נשמרים במקור, כלומר כשמנווטים לדפים אחרים באותו מקור, כולם מוגדלים לאותו גורם זום. ההיקף per-origin זמין רק במצב automatic.
"per-tab"
השינויים במרחק התצוגה משפיעים רק על הכרטיסייה הזו, ושינויים במרחק התצוגה בכרטיסיות אחרות לא משפיעים על מרחק התצוגה בכרטיסייה הזו. בנוסף, per-tab השינויים במרחק התצוגה מתאפסים במהלך הניווט. ניווט בכרטיסייה תמיד טוען דפים עם גורמי מרחק התצוגה per-origin שלהם.
מאפיינים
MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND
המספר המקסימלי של פעמים שאפשר לקרוא ל-captureVisibleTab בשנייה. captureVisibleTab היא פונקציה יקרה, ולא כדאי להפעיל אותה לעיתים קרובות מדי.
ערך
2
SPLIT_VIEW_ID_NONE
מזהה שמייצג את היעדר הכרטיסייה המפוצלת.
ערך
-1
TAB_ID_NONE
מזהה שמייצג מצב שבו אין כרטיסייה בדפדפן.
ערך
-1
TAB_INDEX_NONE
אינדקס שמייצג את היעדר אינדקס כרטיסייה בשורת הכרטיסיות.
ערך
-1
Methods
captureVisibleTab()
browser.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
): Promise<string>
מצלם את האזור הגלוי של הכרטיסייה הפעילה כרגע בחלון שצוין. כדי להפעיל את השיטה הזו, לתוסף צריכה להיות ההרשאה <all_urls> או ההרשאה activeTab. בנוסף לאתרים שתוספים יכולים לגשת אליהם בדרך כלל, השיטה הזו מאפשרת לתוספים לתעד אתרים רגישים שמוגבלים בדרך אחרת, כולל דפים עם סכימת chrome:, דפים של תוספים אחרים וכתובות URL עם סכימת data: . אפשר לתעד את האתרים הרגישים האלה רק באמצעות ההרשאה activeTab. אפשר לתעד כתובות URL של קבצים רק אם לתוסף יש גישה לקבצים.
פרמטרים
-
windowId
מספר אופציונלי
חלון היעד. ברירת המחדל היא החלון הנוכחי.
-
אפשרויות
ImageDetails אופציונלי
החזרות
-
Promise<string>
Chrome 88 ואילך browser.* מגרסה 148 של Chrome
connect()
browser.tabs.connect(
tabId: number,
connectInfo?: object,
): runtime.Port
מתחבר לסקריפטים של התוכן בכרטיסייה שצוינה. האירוע runtime.onConnect מופעל בכל סקריפט תוכן שפועל בכרטיסייה שצוינה עבור התוסף הנוכחי. מידע נוסף זמין במאמר בנושא העברת הודעות בסקריפט תוכן.
פרמטרים
-
tabId
number
-
connectInfo
object optional
-
documentId
מחרוזת אופציונלי
Chrome 106 ואילך browser.* מגרסה 148 של Chromeפתיחת יציאה למסמך ספציפי שמזוהה על ידי
documentIdבמקום לכל המסגרות בכרטיסייה. -
frameId
מספר אופציונלי
פתיחת יציאה למסגרת ספציפית שמזוהה על ידי
frameIdבמקום לכל המסגרות בכרטיסייה. -
שם
מחרוזת אופציונלי
מועבר אל onConnect עבור סקריפטים של תוכן שמאזינים לאירוע החיבור.
-
החזרות
-
יציאה שאפשר להשתמש בה כדי לתקשר עם הסקריפטים של התוכן שפועלים בכרטיסייה שצוינה. האירוע
runtime.Portשל היציאה מופעל אם הכרטיסייה נסגרת או לא קיימת.
פרמטרים
-
createProperties
אובייקט
-
פעיל
בוליאני אופציונלי
אם הכרטיסייה צריכה להיות הכרטיסייה הפעילה בחלון. המדיניות לא משפיעה על המיקוד של החלון (ראו
windows.update). ערך ברירת המחדל הואtrue. -
אינדקס
מספר אופציונלי
המיקום של הכרטיסייה בחלון. הערך שצוין מוגבל לטווח שבין אפס למספר הכרטיסיות בחלון.
-
openerTabId
מספר אופציונלי
המזהה של הכרטיסייה שפתחה את הכרטיסייה הזו. אם צוין, הכרטיסייה הפותחת חייבת להיות באותו חלון כמו הכרטיסייה החדשה שנוצרה.
-
מוצמד
בוליאני אופציונלי
אם הכרטיסייה צריכה להיות מוצמדת. ברירת המחדל היא
false -
נבחר
בוליאני אופציונלי
הוצא משימושצריך להשתמש בערך active.
אם הכרטיסייה צריכה להיות הכרטיסייה שנבחרה בחלון. ברירת המחדל היא
true -
splitWithTabId
מספר אופציונלי
Chrome מגרסה 155 ואילךהמזהה של כרטיסייה קיימת שרוצים ליצור איתה תצוגה מפוצלת. אם צוינה כרטיסייה לחלוקת עלויות, היא צריכה לעמוד בתנאים הבאים:
- אי אפשר לפצל כרטיסייה שכבר פוצלה.
- היא צריכה להיות באותו חלון שבו נמצאת הכרטיסייה החדשה שנוצרה.
- אם צוין
windowId, הוא חייב להיות זהה למזהה החלון של הכרטיסייה שפוצלה. - אם מצוין
index, הוא חייב להיות אינדקס שסמוך לכרטיסייה שפוצלה, והוא ישפיע על המיקום היחסי של הכרטיסייה החדשה שנוצרה.
-
url
מחרוזת אופציונלי
כתובת ה-URL שאליה הכרטיסייה תנווט בהתחלה. כתובות URL מוגדרות במלואן חייבות לכלול סכימה (כלומר, 'http://www.google.com', ולא 'www.google.com'). כתובות URL יחסיות הן יחסיות לדף הנוכחי בתוך התוסף. ברירת המחדל היא דף הכרטיסייה החדשה.
-
windowId
מספר אופציונלי
החלון שבו תיפתח הכרטיסייה החדשה. ברירת המחדל היא החלון הנוכחי.
-
החזרות
-
Promise<Tab>
Chrome 88 ואילך browser.* מגרסה 148 של Chrome
createSplit()
browser.tabs.createSplit(
tabIds: [number, number],
): Promise<number>
פיצול של שתי כרטיסיות קיימות לתצוגה מפוצלת.
פרמטרים
-
tabIds
[number, number]
מערך של שני מזהי כרטיסיות בדיוק להתאמה בתצוגה מפוצלת. כל הכרטיסיות צריכות לעמוד בתנאים הבאים:
הם חייבים להיות סמוכים. הם לא יכולים להיות כבר בתצוגה מפוצלת. הם צריכים להיות במצבים תואמים של
windowId,pinnedו-groupId.
החזרות
-
Promise<number>
detectLanguage()
browser.tabs.detectLanguage(
tabId?: number,
): Promise<string>
מזהה את השפה העיקרית של התוכן בכרטיסייה.
פרמטרים
-
tabId
מספר אופציונלי
ברירת המחדל היא הכרטיסייה הפעילה בחלון הנוכחי.
החזרות
-
Promise<string>
Chrome 88 ואילך browser.* מגרסה 148 של Chrome
discard()
browser.tabs.discard(
tabId?: number,
): Promise<Tab | undefined>
הסרת כרטיסייה מהזיכרון. כרטיסיות שהוצאו משימוש עדיין מוצגות בשורת הכרטיסיות, והן נטענות מחדש כשמפעילים אותן.
פרמטרים
-
tabId
מספר אופציונלי
המזהה של הכרטיסייה שרוצים לסגור. אם מציינים את המדיניות, הכרטיסייה נמחקת, אלא אם היא פעילה או שכבר נמחקה. אם לא מגדירים את המדיניות, הדפדפן סוגר את הכרטיסייה הכי פחות חשובה. הפעולה הזו יכולה להיכשל אם אין כרטיסיות שאפשר לסגור.
החזרות
-
Promise<Tab | undefined>
Chrome 88 ואילך browser.* מגרסה 148 של Chromeהפעולה מסתיימת אחרי שהיא הושלמה.
פרמטרים
-
tabId
number
מזהה הכרטיסייה שרוצים לשכפל.
החזרות
-
Promise<Tab | undefined>
Chrome 88 ואילך browser.* מגרסה 148 של Chrome
פרמטרים
-
tabId
number
החזרות
-
Promise<Tab>
Chrome 88 ואילך browser.* מגרסה 148 של Chrome
getCurrent()
browser.tabs.getCurrent(): Promise<Tab | undefined>
מקבל את הכרטיסייה שממנה מתבצעת הקריאה לסקריפט הזה. הפונקציה מחזירה את הערך undefined אם היא נקראת מהקשר שאינו כרטיסייה (לדוגמה, דף רקע או תצוגה קופצת).
החזרות
-
Promise<Tab | undefined>
Chrome 88 ואילך browser.* מגרסה 148 של Chrome
getZoom()
browser.tabs.getZoom(
tabId?: number,
): Promise<number>
הפונקציה מחזירה את גורם הזום הנוכחי של כרטיסייה מסוימת.
פרמטרים
-
tabId
מספר אופציונלי
המזהה של הכרטיסייה שממנה מקבלים את פקטור הזום הנוכחי. ברירת המחדל היא הכרטיסייה הפעילה בחלון הנוכחי.
החזרות
-
Promise<number>
Chrome 88 ואילך browser.* מגרסה 148 של Chromeהפונקציה מחזירה את רמת הזום הנוכחית של הכרטיסייה אחרי שהיא אוחזרה.
getZoomSettings()
browser.tabs.getZoomSettings(
tabId?: number,
): Promise<ZoomSettings>
הפונקציה מחזירה את הגדרות הזום הנוכחיות של כרטיסייה מסוימת.
פרמטרים
-
tabId
מספר אופציונלי
המזהה של הכרטיסייה שממנה צריך לקבל את הגדרות הזום הנוכחיות. ברירת המחדל היא הכרטיסייה הפעילה בחלון הנוכחי.
החזרות
-
Promise<ZoomSettings>
Chrome 88 ואילך browser.* מגרסה 148 של Chromeההבטחה מתקיימת עם הגדרות הזום הנוכחיות של הכרטיסייה.
goBack()
browser.tabs.goBack(
tabId?: number,
): Promise<void>
חזרה לדף הקודם, אם יש כזה.
פרמטרים
-
tabId
מספר אופציונלי
המזהה של הכרטיסייה שרוצים לנווט בה אחורה. כברירת מחדל, זו הכרטיסייה שנבחרה בחלון הנוכחי.
החזרות
-
Promise<void>
Chrome 88 ואילך browser.* מגרסה 148 של Chrome
goForward()
browser.tabs.goForward(
tabId?: number,
): Promise<void>
מעבר לדף הבא, אם יש כזה.
פרמטרים
-
tabId
מספר אופציונלי
מזהה הכרטיסייה שבה רוצים לנווט קדימה. ברירת המחדל היא הכרטיסייה שנבחרה בחלון הנוכחי.
החזרות
-
Promise<void>
Chrome 88 ואילך browser.* מגרסה 148 של Chrome
group()
browser.tabs.group(
options: object,
): Promise<number>
הוספה של כרטיסייה אחת או יותר לקבוצה מסוימת. אם לא צוינה קבוצה, הכרטיסיות שצוינו יתווספו לקבוצה חדשה.
פרמטרים
-
אפשרויות
אובייקט
-
createProperties
object optional
הגדרות ליצירת קבוצה. אי אפשר להשתמש בפרמטר הזה אם כבר צוין groupId.
-
windowId
מספר אופציונלי
החלון של הקבוצה החדשה. ברירת המחדל היא החלון הנוכחי.
-
-
groupId
מספר אופציונלי
המזהה של הקבוצה שאליה רוצים להוסיף את הכרטיסיות. אם לא מציינים קבוצה, נוצרת קבוצה חדשה.
-
tabIds
number | [number, ...number[]]
מזהה הכרטיסייה או רשימת מזהי הכרטיסיות שרוצים להוסיף לקבוצה שצוינה.
-
החזרות
-
Promise<number>
highlight()
browser.tabs.highlight(
highlightInfo: object,
): Promise<windows.Window>
מדגיש את הכרטיסיות שצוינו ומתמקד בכרטיסייה הראשונה בקבוצה. אם הכרטיסייה שצוינה פעילה כרגע, לא יקרה כלום.
פרמטרים
-
highlightInfo
אובייקט
-
כרטיסיות
number | number[]
אינדקס אחד או יותר של כרטיסיות להדגשה.
-
windowId
מספר אופציונלי
החלון שמכיל את הכרטיסיות.
-
החזרות
-
Promise<windows.Window>
Chrome 88 ואילך browser.* מגרסה 148 של Chrome
move()
browser.tabs.move(
tabIds: number | number[],
moveProperties: object,
): Promise<Tab | Tab[]>
העברת כרטיסייה אחת או יותר למיקום חדש בחלון שלה, או לחלון חדש. חשוב לדעת שאפשר להעביר כרטיסיות רק אל חלונות רגילים (window.type === "normal") ומחלונות רגילים.
פרמטרים
-
tabIds
number | number[]
מזהה הכרטיסייה או רשימת מזהי הכרטיסיות שרוצים להעביר.
-
moveProperties
אובייקט
-
אינדקס
number
המיקום שאליו החלון יועבר. משתמשים ב-
-1כדי להציב את הכרטיסייה בסוף החלון. -
windowId
מספר אופציונלי
כברירת מחדל, הכרטיסייה נפתחת בחלון שבו היא נמצאת כרגע.
-
query()
browser.tabs.query(
queryInfo: object,
): Promise<Tab[]>
מקבל את כל הכרטיסיות שיש להן את המאפיינים שצוינו, או את כל הכרטיסיות אם לא צוינו מאפיינים.
פרמטרים
-
queryInfo
אובייקט
-
פעיל
בוליאני אופציונלי
אם הכרטיסיות פעילות בחלונות שלהן.
-
audible, אודיבל
בוליאני אופציונלי
Chrome 45 ואילך browser.* מגרסת Chrome 148אם הכרטיסיות משמיעות אודיו.
-
autoDiscardable
בוליאני אופציונלי
Chrome 54 ואילך browser.* מגרסה 148 של Chromeההגדרה קובעת אם הדפדפן יכול לסגור את הכרטיסיות באופן אוטומטי כשאין מספיק משאבים.
-
currentWindow
בוליאני אופציונלי
אם הכרטיסיות נמצאות בחלון הנוכחי.
-
דחית את
בוליאני אופציונלי
Chrome 54 ואילך browser.* מגרסה 148 של Chromeאם הכרטיסיות נסגרו. כרטיסייה שנמחקה היא כרטיסייה שהתוכן שלה נפרק מהזיכרון, אבל היא עדיין גלויה בשורת הכרטיסיות. התוכן שלו נטען מחדש בפעם הבאה שהוא מופעל.
-
במצב קפוא
בוליאני אופציונלי
Chrome 132 ואילך browser.* מגרסה Chrome 148אם הכרטיסיות קפואות. כרטיסייה קפואה לא יכולה לבצע משימות, כולל גורמים מטפלים באירועים או טיימרים. היא גלויה ברצועת הכרטיסיות והתוכן שלה נטען בזיכרון. הוא מופשר כשהוא מופעל.
-
groupId
מספר אופציונלי
Chrome 88 ואילך browser.* מגרסה 148 של Chromeהמזהה של קבוצת הכרטיסיות, או
tabGroups.TAB_GROUP_ID_NONEלכרטיסיות שלא קובצו. -
מודגש
בוליאני אופציונלי
אם הכרטיסיות מודגשות.
-
אינדקס
מספר אופציונלי
המיקום של הכרטיסיות בחלונות שלהן.
-
lastFocusedWindow
בוליאני אופציונלי
אם הכרטיסיות נמצאות בחלון האחרון שהיה במוקד.
-
מושתק
בוליאני אופציונלי
Chrome 45 ואילך browser.* מגרסת Chrome 148אם הכרטיסיות מושתקות.
-
מוצמד
בוליאני אופציונלי
אם הכרטיסיות מוצמדות.
-
splitViewId
מספר אופציונלי
Chrome מגרסה 140 ואילך browser.* מגרסה 148 של Chromeהמזהה של התצוגה המפוצלת שבה נמצאות הכרטיסיות, או
tabs.SPLIT_VIEW_ID_NONEלכרטיסיות שלא נמצאות בתצוגה מפוצלת. -
status
TabStatus אופציונלי
סטטוס הטעינה של הכרטיסייה.
-
title
מחרוזת אופציונלי
התאמת כותרות של דפים לתבנית. המערכת מתעלמת מהמאפיין הזה אם לתוסף אין את ההרשאה
"tabs"או הרשאות מארח לדף. -
url
string | string[] אופציונלי
התאמת כרטיסיות לתבנית URL אחת או יותר. מזהי מקטעים לא תואמים. המערכת מתעלמת מהמאפיין הזה אם לתוסף אין את ההרשאה
"tabs"או הרשאות מארח לדף. -
windowId
מספר אופציונלי
המזהה של חלון ההורה, או
windows.WINDOW_ID_CURRENTעבור החלון הנוכחי. -
windowType
WindowType אופציונלי
סוג החלון שבו נמצאות הכרטיסיות.
-
החזרות
-
Promise<Tab[]>
Chrome 88 ואילך browser.* מגרסה 148 של Chrome
reload()
browser.tabs.reload(
tabId?: number,
reloadProperties?: object,
): Promise<void>
לטעון מחדש כרטיסייה.
פרמטרים
-
tabId
מספר אופציונלי
המזהה של הכרטיסייה שרוצים לטעון מחדש. ברירת המחדל היא הכרטיסייה שנבחרה בחלון הנוכחי.
-
reloadProperties
object optional
-
bypassCache
בוליאני אופציונלי
אם לעקוף את השמירה במטמון המקומי. ברירת המחדל היא
false.
-
החזרות
-
Promise<void>
Chrome 88 ואילך browser.* מגרסה 148 של Chrome
remove()
browser.tabs.remove(
tabIds: number | number[],
): Promise<void>
סגירת כרטיסייה אחת או יותר.
פרמטרים
-
tabIds
number | number[]
מזהה הכרטיסייה או רשימת מזהי הכרטיסיות שרוצים לסגור.
החזרות
-
Promise<void>
Chrome 88 ואילך browser.* מגרסה 148 של Chrome
sendMessage()
browser.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
): Promise<any>
שליחת הודעה אחת לסקריפטים של התוכן בכרטיסייה שצוינה. האירוע runtime.onMessage מופעל בכל סקריפט תוכן שפועל בכרטיסייה שצוינה עבור התוסף הנוכחי.
פרמטרים
-
tabId
number
-
הודעה
כל
ההודעה שרוצים לשלוח. ההודעה הזו צריכה להיות אובייקט שאפשר להמיר ל-JSON.
-
אפשרויות
object optional
החזרות
-
Promise<any>
Chrome 99 ואילך browser.* מגרסה 148 של ChromePromise שמתקבלת עם התשובה מסקריפט התוכן. אם תתרחש שגיאה במהלך ההתחברות לכרטיסייה שצוינה, ההבטחה תידחה.
setZoom()
browser.tabs.setZoom(
tabId?: number,
zoomFactor: number,
): Promise<void>
משנה את מרחק התצוגה בכרטיסייה מסוימת.
פרמטרים
-
tabId
מספר אופציונלי
המזהה של הכרטיסייה שרוצים לשנות את גודל התצוגה שלה. ברירת המחדל היא הכרטיסייה הפעילה בחלון הנוכחי.
-
zoomFactor
number
גורם הזום החדש. הערך
0מגדיר את הכרטיסייה לגורם ברירת המחדל הנוכחי של מרחק התצוגה. ערכים שגדולים מ-0מציינים מקדם זום (אולי לא ברירת המחדל) לכרטיסייה.
החזרות
-
Promise<void>
Chrome 88 ואילך browser.* מגרסה 148 של Chromeההבטחה מתקיימת אחרי שגורם הזום משתנה.
setZoomSettings()
browser.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
): Promise<void>
ההגדרה קובעת את הגדרות הזום בכרטיסייה מסוימת, שמגדירות איך המערכת מטפלת בשינויים בזום. ההגדרות האלה מתאפסות לברירות המחדל כשעוברים לכרטיסייה.
פרמטרים
-
tabId
מספר אופציונלי
המזהה של הכרטיסייה שבה רוצים לשנות את הגדרות הזום. כברירת מחדל, זו הכרטיסייה הפעילה בחלון הנוכחי.
-
zoomSettings
ההגדרה קובעת איך המערכת מטפלת בשינויים בזום ובאיזה היקף.
החזרות
-
Promise<void>
Chrome 88 ואילך browser.* מגרסה 148 של Chromeהבעיה נפתרת אחרי שמשנים את הגדרות הזום.
ungroup()
browser.tabs.ungroup(
tabIds: number | [number, ...number[]],
): Promise<void>
הסרה של כרטיסייה אחת או יותר מהקבוצות שלהן. אם קבוצה כלשהי מתרוקנת, היא נמחקת.
פרמטרים
-
tabIds
number | [number, ...number[]]
מזהה הכרטיסייה או רשימת מזהי הכרטיסיות שרוצים להסיר מהקבוצות שלהן.
החזרות
-
Promise<void>
unsplit()
browser.tabs.unsplit(
splitViewId: number,
): Promise<void>
הפרדת הכרטיסיות בתצוגה מפוצלת לכרטיסיות נפרדות.
פרמטרים
-
splitViewId
number
המזהה של התצוגה המפוצלת שרוצים להפריד.
החזרות
-
Promise<void>
update()
browser.tabs.update(
tabId?: number,
updateProperties: object,
): Promise<Tab | undefined>
משנה את המאפיינים של כרטיסייה. מאפיינים שלא צוינו ב-updateProperties לא ישתנו.
פרמטרים
-
tabId
מספר אופציונלי
ברירת המחדל היא הכרטיסייה שנבחרה בחלון הנוכחי.
-
updateProperties
אובייקט
-
פעיל
בוליאני אופציונלי
האם הכרטיסייה צריכה להיות פעילה. היא לא משפיעה על המיקוד של החלון (ראו
windows.update). -
autoDiscardable
בוליאני אופציונלי
Chrome 54 ואילך browser.* מגרסה 148 של Chromeההגדרה קובעת אם הדפדפן צריך לסגור את הכרטיסייה באופן אוטומטי כשהמשאבים מועטים.
-
מודגש
בוליאני אופציונלי
הוספה או הסרה של הכרטיסייה מהבחירה הנוכחית.
-
מושתק
בוליאני אופציונלי
Chrome 45 ואילך browser.* מגרסת Chrome 148אם להשתיק את הכרטיסייה.
-
openerTabId
מספר אופציונלי
המזהה של הכרטיסייה שפתחה את הכרטיסייה הזו. אם מציינים את הפרמטר הזה, הכרטיסייה הפותחת צריכה להיות באותו חלון כמו הכרטיסייה הזו.
-
מוצמד
בוליאני אופציונלי
אם הכרטיסייה צריכה להיות מוצמדת.
-
נבחר
בוליאני אופציונלי
הוצא משימושצריך להשתמש במודגש.
אם הכרטיסייה צריכה להיבחר.
-
url
מחרוזת אופציונלי
כתובת URL שאליה הכרטיסייה תנווט. אין תמיכה בכתובות URL של JavaScript. במקום זאת, צריך להשתמש ב-
scripting.executeScript.
-
החזרות
-
Promise<Tab | undefined>
Chrome 88 ואילך browser.* מגרסה 148 של Chrome
אירועים
onActivated
browser.tabs.onActivated.addListener(
callback: function,
)
מופעל כשמשתנה הכרטיסייה הפעילה בחלון. שימו לב שיכול להיות שכתובת ה-URL של הכרטיסייה לא תוגדר בזמן שהאירוע הזה מופעל, אבל אתם יכולים להאזין לאירועי onUpdated כדי לקבל התראה כשכתובת URL מוגדרת.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(activeInfo: object) => void
-
activeInfo
אובייקט
-
tabId
number
המזהה של הכרטיסייה שהפכה לפעילה.
-
windowId
number
המזהה של החלון שבו הכרטיסייה הפעילה השתנתה.
-
-
onAttached
browser.tabs.onAttached.addListener(
callback: function,
)
מופעל כשכרטיסייה מצורפת לחלון, למשל כי היא הועברה בין חלונות.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(tabId: number, attachInfo: object) => void
-
tabId
number
-
attachInfo
אובייקט
-
newPosition
number
-
newWindowId
number
-
-
onCreated
browser.tabs.onCreated.addListener(
callback: function,
)
מופעל כשנוצרת כרטיסייה. חשוב לזכור שייתכן שכתובת ה-URL של הכרטיסייה והחברות בקבוצת הכרטיסיות לא יוגדרו בזמן שהאירוע הזה מופעל, אבל אפשר להאזין לאירועי onUpdated כדי לקבל התראה כשכתובת URL מוגדרת או כשהכרטיסייה מתווספת לקבוצת כרטיסיות.
onDetached
browser.tabs.onDetached.addListener(
callback: function,
)
מופעל כשכרטיסייה מנותקת מחלון, למשל כי היא הועברה בין חלונות.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(tabId: number, detachInfo: object) => void
-
tabId
number
-
detachInfo
אובייקט
-
oldPosition
number
-
oldWindowId
number
-
-
onHighlighted
browser.tabs.onHighlighted.addListener(
callback: function,
)
מופעל כשמשתנות הכרטיסיות המודגשות או שנבחרו בחלון.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(highlightInfo: object) => void
-
highlightInfo
אובייקט
-
tabIds
number[]
כל הכרטיסיות המודגשות בחלון.
-
windowId
number
החלון שהכרטיסיות שלו השתנו.
-
-
onMoved
browser.tabs.onMoved.addListener(
callback: function,
)
מופעל כשכרטיסייה מועברת בתוך חלון. מופעל רק אירוע העברה אחד, שמייצג את הכרטיסייה שהמשתמש העביר באופן ישיר. אירועי העברה לא מופעלים בכרטיסיות האחרות שצריכות לזוז בתגובה לכרטיסייה שהועברה באופן ידני. האירוע הזה לא מופעל כשכרטיסייה מועברת בין חלונות. פרטים נוספים זמינים בכתובת tabs.onDetached.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(tabId: number, moveInfo: object) => void
-
tabId
number
-
moveInfo
אובייקט
-
fromIndex
number
-
toIndex
number
-
windowId
number
-
-
onRemoved
browser.tabs.onRemoved.addListener(
callback: function,
)
מופעל כשכרטיסייה נסגרת.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(tabId: number, removeInfo: object) => void
-
tabId
number
-
removeInfo
אובייקט
-
isWindowClosing
בוליאני
התנאי מתקיים אם הכרטיסייה נסגרה כי החלון הראשי שלה נסגר.
-
windowId
number
החלון שהכרטיסייה שלו נסגרה.
-
-
onReplaced
browser.tabs.onReplaced.addListener(
callback: function,
)
מופעל כשכרטיסייה מוחלפת בכרטיסייה אחרת בגלל רינדור מראש או באופן מיידי.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(addedTabId: number, removedTabId: number) => void
-
addedTabId
number
-
removedTabId
number
-
onUpdated
browser.tabs.onUpdated.addListener(
callback: function,
)
מופעל כשכרטיסייה מתעדכנת.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(tabId: number, changeInfo: object, tab: Tab) => void
-
tabId
number
-
changeInfo
אובייקט
-
audible, אודיבל
בוליאני אופציונלי
Chrome 45 ואילך browser.* מגרסת Chrome 148מצב השמע החדש של הכרטיסייה.
-
autoDiscardable
בוליאני אופציונלי
Chrome 54 ואילך browser.* מגרסה 148 של Chromeהמצב החדש של הכרטיסייה שניתן לסגור באופן אוטומטי.
-
דחית את
בוליאני אופציונלי
Chrome 54 ואילך browser.* מגרסה 148 של Chromeהמצב החדש של הכרטיסייה שהוצאה משימוש.
-
favIconUrl
מחרוזת אופציונלי
כתובת ה-URL החדשה של סמל האתר בכרטיסייה.
-
במצב קפוא
בוליאני אופציונלי
Chrome 132 ואילך browser.* מגרסה Chrome 148מצב ההקפאה החדש של הכרטיסייה.
-
groupId
מספר אופציונלי
Chrome 88 ואילך browser.* מגרסה 148 של Chromeהקבוצה החדשה של הכרטיסייה.
-
mutedInfo
MutedInfo אופציונלי
Chrome 46 ואילך browser.* מ-Chrome 148מצב ההשתקה החדש של הכרטיסייה והסיבה לשינוי.
-
מוצמד
בוליאני אופציונלי
מצב ההצמדה החדש של הכרטיסייה.
-
splitViewId
מספר אופציונלי
Chrome מגרסה 140 ואילך browser.* מגרסה 148 של Chromeהתצוגה המפוצלת החדשה של הכרטיסייה.
-
status
TabStatus אופציונלי
סטטוס הטעינה של הכרטיסייה.
-
title
מחרוזת אופציונלי
Chrome 48 ואילך browser.* החל מ-Chrome 148השם החדש של הכרטיסייה.
-
url
מחרוזת אופציונלי
כתובת ה-URL של הכרטיסייה, אם היא השתנתה.
-
-
Tab
-
onZoomChange
browser.tabs.onZoomChange.addListener(
callback: function,
)
מופעל כשמגדילים את התצוגה בכרטיסייה.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
אובייקט
-
newZoomFactor
number
-
oldZoomFactor
number
-
tabId
number
-
zoomSettings
-
-