תיאור
משתמשים ב-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.* מגרסה 148 של Chromeאם הכרטיסייה הפיקה צליל בשניות האחרונות (אבל יכול להיות שלא שומעים אותו אם היא גם מושתקת). שווה ערך למצב שבו האינדיקטור "אודיו של הדובר" מוצג.
-
autoDiscardable
בוליאני
Chrome 54 ואילך browser.* החל מ-Chrome 148ההגדרה קובעת אם הדפדפן יכול לסגור את הכרטיסייה באופן אוטומטי כשאין מספיק משאבים.
-
דחית את
בוליאני
Chrome 54 ואילך browser.* החל מ-Chrome 148אם הכרטיסייה נסגרה. כרטיסייה שנמחקה היא כרטיסייה שהתוכן שלה נפרק מהזיכרון, אבל היא עדיין גלויה בשורת הכרטיסיות. התוכן שלו נטען מחדש בפעם הבאה שהוא מופעל.
-
favIconUrl
מחרוזת אופציונלי
כתובת ה-URL של סמל האתר של הכרטיסייה. המאפיין הזה קיים רק אם לתוסף יש את ההרשאה
"tabs"או הרשאות מארח לדף. הוא יכול להיות גם מחרוזת ריקה אם הכרטיסייה בטעינה. -
במצב קפוא
בוליאני
Chrome 132 ואילך browser.* מגרסה Chrome 148אם הכרטיסייה קפואה. כרטיסייה מוקפאת לא יכולה לבצע משימות, כולל גורמים מטפלים באירועים או טיימרים. היא גלויה ברצועת הכרטיסיות והתוכן שלה נטען בזיכרון. הוא מופשר כשהוא מופעל.
-
groupId
number
Chrome 88 ואילך browser.* מגרסה 148 של Chromeהמזהה של הקבוצה שהכרטיסייה שייכת אליה.
-
גובה
מספר אופציונלי
גובה הכרטיסייה בפיקסלים.
-
מודגש
בוליאני
אם הכרטיסייה מודגשת.
-
id [מזהה]
מספר אופציונלי
המזהה של הכרטיסייה. מזהי הכרטיסיות הם ייחודיים בסשן של הדפדפן. במקרים מסוימים, יכול להיות שלא יוקצה מזהה לכרטיסייה. לדוגמה, כששולחים שאילתה לכרטיסיות זרות באמצעות ה-API של
sessions, יכול להיות שיופיע מזהה סשן. אפשר גם להגדיר את מזהה הכרטיסייה לערךchrome.tabs.TAB_ID_NONEעבור אפליקציות וחלונות של כלי פיתוח. -
גלישה בסתר
בוליאני
אם הכרטיסייה נמצאת בחלון פרטי.
-
אינדקס
number
האינדקס של הכרטיסייה בחלון שלה, כשהספירה מתחילה מ-0.
-
lastAccessed
number
Chrome 121 ואילך browser.* מ-Chrome 148הפעם האחרונה שבה הכרטיסייה הפכה לפעילה בחלון שלה, כמספר אלפיות השנייה מאז תחילת התקופה.
-
mutedInfo
MutedInfo אופציונלי
Chrome 46 ואילך browser.* מגרסה 148 של Chromeמצב ההשתקה של הכרטיסייה והסיבה לשינוי האחרון במצב.
-
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.* מגרסה Chrome 148משמש להחזרת רמת הזום שמוגדרת כברירת מחדל לכרטיסייה הנוכחית בקריאות ל-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.* מגרסה Chrome 148פתיחת יציאה למסמך ספציפי שמזוהה על ידי
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
[מספר, מספר]
מערך של שני מזהי כרטיסיות בדיוק לשילוב בתצוגה מפוצלת. כל הכרטיסיות צריכות לעמוד בתנאים הבאים:
הם חייבים להיות סמוכים. הם לא יכולים להיות כבר בתצוגה מפוצלת. הסטטוסים של
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.* מגרסה 148 של Chromeאם הכרטיסיות משמיעות צליל.
-
autoDiscardable
בוליאני אופציונלי
Chrome 54 ואילך browser.* החל מ-Chrome 148ההגדרה קובעת אם הדפדפן יכול לסגור את הכרטיסיות באופן אוטומטי כשהמשאבים מוגבלים.
-
currentWindow
בוליאני אופציונלי
אם הכרטיסיות נמצאות בחלון הנוכחי.
-
דחית את
בוליאני אופציונלי
Chrome 54 ואילך browser.* החל מ-Chrome 148אם הכרטיסיות נסגרו. כרטיסייה שנמחקה היא כרטיסייה שהתוכן שלה נפרק מהזיכרון, אבל היא עדיין גלויה בשורת הכרטיסיות. התוכן שלו נטען מחדש בפעם הבאה שהוא מופעל.
-
במצב קפוא
בוליאני אופציונלי
Chrome 132 ואילך browser.* מגרסה Chrome 148אם הכרטיסיות קפואות. כרטיסייה מוקפאת לא יכולה לבצע משימות, כולל גורמים מטפלים באירועים או טיימרים. היא גלויה ברצועת הכרטיסיות והתוכן שלה נטען בזיכרון. הוא מופשר כשהוא מופעל.
-
groupId
מספר אופציונלי
Chrome 88 ואילך browser.* מגרסה 148 של Chromeהמזהה של הקבוצה שהכרטיסיות נמצאות בה, או
tabGroups.TAB_GROUP_ID_NONEלכרטיסיות שלא קובצו. -
מודגש
בוליאני אופציונלי
אם הכרטיסיות מודגשות.
-
אינדקס
מספר אופציונלי
המיקום של הכרטיסיות בחלונות שלהן.
-
lastFocusedWindow
בוליאני אופציונלי
אם הכרטיסיות נמצאות בחלון האחרון שהיה במיקוד.
-
מושתק
בוליאני אופציונלי
Chrome 45 ואילך browser.* מגרסה 148 של Chromeאם הכרטיסיות מושתקות.
-
מוצמד
בוליאני אופציונלי
אם הכרטיסיות מוצמדות.
-
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 של Chromeהבטחה שמתקבלת עם התשובה מסקריפט התוכן. אם מתרחשת שגיאה במהלך ההתחברות לכרטיסייה שצוינה, ההבטחה תידחה.
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.* החל מ-Chrome 148ההגדרה קובעת אם הדפדפן צריך לסגור את הכרטיסייה באופן אוטומטי כשהמשאבים מועטים.
-
מודגש
בוליאני אופציונלי
הוספה או הסרה של הכרטיסייה מהבחירה הנוכחית.
-
מושתק
בוליאני אופציונלי
Chrome 45 ואילך browser.* מגרסה 148 של Chromeאם להשתיק את הכרטיסייה.
-
openerTabId
מספר אופציונלי
המזהה של הכרטיסייה שפתחה את הכרטיסייה הזו. אם מציינים את המאפיין הזה, הכרטיסייה שפתחה את הכרטיסייה הנוכחית צריכה להיות באותו חלון.
-
מוצמד
בוליאני אופציונלי
אם להצמיד את הכרטיסייה.
-
נבחר
בוליאני אופציונלי
הוצא משימושצריך להשתמש בערך highlighted.
אם הכרטיסייה צריכה להיבחר.
-
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
בוליאני
הערך True מופיע כשהכרטיסייה נסגרה כי החלון הראשי שלה נסגר.
-
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.* מגרסה 148 של Chromeמצב השמע החדש של הכרטיסייה.
-
autoDiscardable
בוליאני אופציונלי
Chrome 54 ואילך browser.* החל מ-Chrome 148המצב החדש של הכרטיסייה שניתן לסגור באופן אוטומטי.
-
דחית את
בוליאני אופציונלי
Chrome 54 ואילך browser.* החל מ-Chrome 148המצב החדש של הכרטיסייה שהוצאה משימוש.
-
favIconUrl
מחרוזת אופציונלי
כתובת ה-URL החדשה של סמל האתר בכרטיסייה.
-
במצב קפוא
בוליאני אופציונלי
Chrome 132 ואילך browser.* מגרסה Chrome 148המצב הקפוא החדש של הכרטיסייה.
-
groupId
מספר אופציונלי
Chrome 88 ואילך browser.* מגרסה 148 של Chromeהקבוצה החדשה של הכרטיסייה.
-
mutedInfo
MutedInfo אופציונלי
Chrome 46 ואילך browser.* מגרסה 148 של Chromeמצב ההשתקה החדש של הכרטיסייה והסיבה לשינוי.
-
מוצמד
בוליאני אופציונלי
מצב ההצמדה החדש של הכרטיסייה.
-
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
-
-