Beschreibung
Verwenden Sie die chrome.tabs API, um mit dem Tab-System des Browsers zu interagieren. Mit dieser API können Sie Tabs im Browser erstellen, ändern und neu anordnen.
Die Tabs API bietet nicht nur Funktionen zum Bearbeiten und Verwalten von Tabs, sondern kann auch die Sprache des Tabs erkennen, einen Screenshot erstellen und mit den Inhaltsskripts eines Tabs kommunizieren.
Berechtigungen
Für die meisten Funktionen sind keine Berechtigungen erforderlich. Beispiele: Erstellen eines neuen Tabs, Aktualisieren eines Tabs, Aufrufen einer anderen URL usw.
Es gibt drei Berechtigungen, die Entwickler bei der Arbeit mit der Tabs API beachten sollten.
- Die Berechtigung „tabs“
Diese Berechtigung gewährt keinen Zugriff auf den Namespace
browser.tabs. Stattdessen wird einer Erweiterung die Möglichkeit gewährt,tabs.query()für vier vertrauliche Attribute intabs.Tab-Instanzen aufzurufen:url,pendingUrl,titleundfavIconUrl.{ "name": "My extension", ... "permissions": [ "tabs" ], ... }- Berechtigungen für Organisatoren
Hostberechtigungen ermöglichen es einer Erweiterung, die vier vertraulichen
tabs.Tab-Eigenschaften eines übereinstimmenden Tabs zu lesen und abzufragen. Sie können auch direkt mit den übereinstimmenden Tabs interagieren, indem sie Methoden wietabs.captureVisibleTab(),scripting.executeScript(),scripting.insertCSS()undscripting.removeCSS()verwenden.{ "name": "My extension", ... "host_permissions": [ "http://*/*", "https://*/*" ], ... }- Die Berechtigung „activeTab“
activeTabgewährt einer Erweiterung als Reaktion auf einen Nutzeraufruf eine temporäre Hostberechtigung für den aktuellen Tab. Im Gegensatz zu Hostberechtigungen werden beiactiveTabkeine Warnungen ausgelöst.{ "name": "My extension", ... "permissions": [ "activeTab" ], ... }
Anwendungsfälle
In den folgenden Abschnitten werden einige gängige Anwendungsfälle beschrieben.
Seite einer Erweiterung in einem neuen Tab öffnen
Ein gängiges Muster für Erweiterungen ist, dass nach der Installation eine Onboarding-Seite in einem neuen Tab geöffnet wird. Das folgende Beispiel zeigt, wie das geht.
background.js:
browser.runtime.onInstalled.addListener(({reason}) => {
if (reason === 'install') {
browser.tabs.create({
url: "onboarding.html"
});
}
});
Aktuellen Tab abrufen
In diesem Beispiel wird gezeigt, wie der Service Worker einer Erweiterung den aktiven Tab aus dem aktuell fokussierten Fenster (oder dem zuletzt fokussierten Fenster, wenn keine Chrome-Fenster fokussiert sind) abrufen kann. Dies ist in der Regel der aktuelle Tab des Nutzers.
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);
});
}
Den angegebenen Tab stummschalten
In diesem Beispiel wird gezeigt, wie eine Erweiterung den Stummschaltungsstatus für einen bestimmten Tab umschalten kann.
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" }`);
});
}
Aktuellen Tab beim Klicken an die erste Position verschieben
In diesem Beispiel wird gezeigt, wie ein Tab verschoben wird, während ein Ziehvorgang ausgeführt wird oder nicht. In diesem Beispiel wird browser.tabs.move verwendet. Sie können dasselbe Wartemuster aber auch für andere Aufrufe verwenden, die Tabs während eines Ziehvorgangs ändern.
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.");
}
});
}
Nachricht an das Inhaltsskript eines ausgewählten Tabs übergeben
In diesem Beispiel wird gezeigt, wie der Service Worker einer Erweiterung über tabs.sendMessage() mit Inhaltsskripts in bestimmten Browsertabs kommunizieren kann.
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.
}
Beispiele für Erweiterungen
Weitere Demos zu Tabs API-Erweiterungen finden Sie hier:
Typen
MutedInfo
Der Stummschaltungsstatus des Tabs und der Grund für die letzte Statusänderung.
Attribute
-
extensionId
String optional
Die ID der Erweiterung, die den Stummschaltungsstatus geändert hat. Nicht festgelegt, wenn eine Erweiterung nicht der Grund für die letzte Änderung des Stummschaltungsstatus war.
-
stummgeschaltet
boolean
Gibt an, ob der Tab stummgeschaltet ist (kein Ton wiedergegeben wird). Der Tab kann auch dann stummgeschaltet werden, wenn er keinen Ton abgespielt hat oder gerade keinen Ton abspielt. Entspricht der Anzeige des Audioindikators „Stummgeschaltet“.
-
reason
MutedInfoReason optional
Der Grund, warum der Tab stummgeschaltet oder die Stummschaltung aufgehoben wurde. Nicht festgelegt, wenn der Stummschaltungsstatus des Tabs nie geändert wurde.
MutedInfoReason
Ein Ereignis, das eine Änderung des Stummschaltungsstatus verursacht hat.
Enum
"user"
Der Stummschaltungsstatus wurde durch eine Nutzereingabe festgelegt.
"capture"
Die Tab-Aufnahme wurde gestartet, wodurch eine Änderung des Stummschaltungsstatus erzwungen wurde.
"extension"
Eine Erweiterung, die durch das Feld „extensionId“ identifiziert wird, hat den Stummschaltungsstatus festgelegt.
Tab
Attribute
-
aktiv
boolean
Gibt an, ob der Tab in seinem Fenster aktiv ist. Das bedeutet nicht unbedingt, dass das Fenster fokussiert ist.
-
audible
boolean optional
Chrome 45 und höher browser.* seit Chrome 148Ob der Tab in den letzten Sekunden Ton erzeugt hat (der aber möglicherweise nicht zu hören ist, wenn er auch stummgeschaltet ist). Entspricht der Anzeige „Lautsprecher-Audio“.
-
autoDiscardable
boolean
Chrome 54 und höher browser.* seit Chrome 148Gibt an, ob der Tab vom Browser automatisch verworfen werden kann, wenn die Ressourcen knapp sind.
-
verworfen
boolean
Chrome 54 und höher browser.* seit Chrome 148Gibt an, ob der Tab verworfen wird. Ein verworfener Tab ist ein Tab, dessen Inhalt aus dem Arbeitsspeicher entfernt wurde, der aber weiterhin im Tabstreifen sichtbar ist. Der Inhalt wird beim nächsten Aktivieren neu geladen.
-
favIconUrl
String optional
Die URL des Favicons des Tabs. Diese Property ist nur vorhanden, wenn die Erweiterung die Berechtigung
"tabs"oder Hostberechtigungen für die Seite hat. Es kann auch ein leerer String sein, wenn der Tab geladen wird. -
Reagiert nicht
boolean
Chrome 132+ browser.* seit Chrome 148Gibt an, ob der Tab eingefroren ist. Ein deaktivierter Tab kann keine Aufgaben ausführen, einschließlich Event-Handler oder Timer. Er ist in der Tableiste sichtbar und sein Inhalt wird in den Arbeitsspeicher geladen. Sie wird bei der Aktivierung wieder freigegeben.
-
groupId
Zahl
Chrome 88 und höher browser.* seit Chrome 148Die ID der Gruppe, zu der der Tab gehört.
-
Höhe
number optional
Die Höhe des Tabs in Pixeln.
-
hervorgehoben
boolean
Gibt an, ob der Tab hervorgehoben ist.
-
id
number optional
Die ID des Tabs. Tab-IDs sind innerhalb einer Browsersitzung eindeutig. Unter bestimmten Umständen wird einem Tab möglicherweise keine ID zugewiesen, z. B. wenn externe Tabs über die
sessionsAPI abgefragt werden. In diesem Fall ist möglicherweise eine Sitzungs-ID vorhanden. Die Tab-ID kann für Apps und Entwicklertools-Fenster auch aufchrome.tabs.TAB_ID_NONEfestgelegt werden. -
incognito
boolean
Gibt an, ob sich der Tab in einem Inkognitofenster befindet.
-
Index
Zahl
Der nullbasierte Index des Tabs in seinem Fenster.
-
lastAccessed
Zahl
Chrome 121+ browser.* seit Chrome 148Der Zeitpunkt, zu dem der Tab zuletzt in seinem Fenster aktiv wurde, als Anzahl der Millisekunden seit der Epoche.
-
mutedInfo
MutedInfo optional
Chrome 46 oder höher browser.* seit Chrome 148Der Stummschaltungsstatus des Tabs und der Grund für die letzte Statusänderung.
-
openerTabId
number optional
Die ID des Tabs, über den dieser Tab geöffnet wurde, falls vorhanden. Diese Property ist nur vorhanden, wenn der Tab, der den aktuellen Tab geöffnet hat, noch existiert.
-
pendingUrl
String optional
Chrome 79 und höher browser.* seit Chrome 148Die URL, zu der der Tab navigiert, bevor er bestätigt wurde. Diese Property ist nur vorhanden, wenn die Erweiterung die Berechtigung
"tabs"oder Hostberechtigungen für die Seite hat und eine Navigation aussteht. -
Angepinnt
boolean
Gibt an, ob der Tab angepinnt ist.
-
ausgewählt
boolean
EingestelltVerwenden Sie
tabs.Tab.highlighted.Gibt an, ob der Tab ausgewählt ist.
-
sessionId
String optional
Die Sitzungs-ID, mit der ein Tab eindeutig identifiziert wird, der über die
sessionsAPI abgerufen wurde. -
splitViewId
number optional
Chrome 140+ browser.* seit Chrome 148Die ID der geteilten Ansicht, zu der der Tab gehört.
-
Status
TabStatus optional
Der Ladestatus des Tabs.
-
Titel
String optional
Der Titel des Tabs. Diese Property ist nur vorhanden, wenn die Erweiterung die Berechtigung
"tabs"oder Hostberechtigungen für die Seite hat. -
URL
String optional
Die zuletzt übernommene URL des Hauptframes des Tabs. Diese Property ist nur vorhanden, wenn die Erweiterung die Berechtigung
"tabs"oder Hostberechtigungen für die Seite hat. Kann ein leerer String sein, wenn der Tab noch nicht festgeschrieben wurde. Weitere Informationen finden Sie unterTab.pendingUrl. -
Breite
number optional
Die Breite des Tabs in Pixeln.
-
windowId
Zahl
Die ID des Fensters, das den Tab enthält.
TabStatus
Der Ladestatus des Tabs.
Enum
"unloaded"
"loading"
"complete"
WindowType
Der Typ des Fensters.
Enum
"normal"
"popup"
"panel"
"app"
"devtools"
ZoomSettings
Legt fest, wie Zoomänderungen in einem Tab verarbeitet werden und in welchem Umfang.
Attribute
-
defaultZoomFactor
number optional
Chrome 43 und höher browser.* seit Chrome 148Wird verwendet, um die Standardzoomstufe für den aktuellen Tab in Aufrufen von „tabs.getZoomSettings“ zurückzugeben.
-
Modus
ZoomSettingsMode optional
Definiert, wie Zoomänderungen verarbeitet werden, d. h. welche Entität für die tatsächliche Skalierung der Seite verantwortlich ist. Der Standardwert ist
automatic. -
Bereich
ZoomSettingsScope optional
Legt fest, ob Zoomänderungen für den Ursprung der Seite beibehalten werden oder nur auf diesem Tab wirksam sind. Der Standardwert ist
per-originim Modusautomaticund andernfallsper-tab.
ZoomSettingsMode
Definiert, wie Zoomänderungen verarbeitet werden, d. h. welche Entität für die tatsächliche Skalierung der Seite verantwortlich ist. Der Standardwert ist automatic.
Enum
"automatic"
Zoomänderungen werden automatisch vom Browser verarbeitet.
"manual"
Überschreibt die automatische Verarbeitung von Zoomänderungen. Das Ereignis onZoomChange wird weiterhin ausgelöst. Die Erweiterung muss dieses Ereignis beobachten und die Seite manuell skalieren. In diesem Modus wird das Zoomen mit per-origin nicht unterstützt. Daher wird die Zoomeinstellung scope ignoriert und per-tab angenommen.
"disabled"
Deaktiviert das Zoomen auf dem Tab. Der Tab wird auf die Standardzoomstufe zurückgesetzt und alle versuchten Zoomänderungen werden ignoriert.
ZoomSettingsScope
Legt fest, ob Zoomänderungen für den Ursprung der Seite beibehalten werden oder nur auf diesem Tab wirksam sind. Der Standardwert ist per-origin im Modus automatic und andernfalls per-tab.
Enum
"per-origin"
Zoomänderungen bleiben im Ursprung der gezoomten Seite erhalten, d.h., alle anderen Tabs, die zu demselben Ursprung navigiert werden, werden ebenfalls gezoomt. Außerdem werden Zoomänderungen von per-origin mit dem Ursprung gespeichert. Das bedeutet, dass beim Aufrufen anderer Seiten im selben Ursprung alle mit demselben Zoomfaktor gezoomt werden. Der Bereich per-origin ist nur im Modus automatic verfügbar.
„per-tab“
Zoomänderungen werden nur auf diesem Tab wirksam und Zoomänderungen auf anderen Tabs wirken sich nicht auf den Zoom dieses Tabs aus. Außerdem werden Änderungen am Zoomfaktor von per-tab beim Navigieren zurückgesetzt. Beim Navigieren auf einem Tab werden Seiten immer mit ihren Zoomfaktoren von per-origin geladen.
Attribute
MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND
Die maximale Anzahl von Aufrufen von captureVisibleTab pro Sekunde. captureVisibleTab ist teuer und sollte nicht zu oft aufgerufen werden.
Wert
2
SPLIT_VIEW_ID_NONE
Eine ID, die das Fehlen eines geteilten Tabs darstellt.
Wert
-1
TAB_ID_NONE
Eine ID, die das Fehlen eines Browsertabs darstellt.
Wert
-1
TAB_INDEX_NONE
Ein Index, der das Fehlen eines Tab-Index in einer Tableiste darstellt.
Wert
-1
Methoden
captureVisibleTab()
browser.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
): Promise<string>
Erfasst den sichtbaren Bereich des aktuell aktiven Tabs im angegebenen Fenster. Damit diese Methode aufgerufen werden kann, muss die Erweiterung entweder die Berechtigung <all_urls> oder die Berechtigung activeTab haben. Zusätzlich zu den Websites, auf die Erweiterungen normalerweise zugreifen können, können mit dieser Methode auch sensible Websites erfasst werden, die sonst eingeschränkt sind, einschließlich Seiten mit dem Schema „chrome:“, Seiten anderer Erweiterungen und „data:“-URLs. Diese sensiblen Websites können nur mit der Berechtigung „activeTab“ erfasst werden. Datei-URLs dürfen nur erfasst werden, wenn der Erweiterung Dateizugriff gewährt wurde.
Parameter
-
windowId
number optional
Das Zielfenster. Die Standardeinstellung ist das aktuelle Fenster.
-
Optionen
ImageDetails optional
Ausgabe
-
Promise<string>
Chrome 88 und höher browser.* seit Chrome 148
connect()
browser.tabs.connect(
tabId: number,
connectInfo?: object,
): runtime.Port
Stellt eine Verbindung zu den Inhaltsskripts auf dem angegebenen Tab her. Das Ereignis runtime.onConnect wird in jedem Inhaltsskript ausgelöst, das auf dem angegebenen Tab für die aktuelle Erweiterung ausgeführt wird. Weitere Informationen finden Sie unter Content Script Messaging.
Parameter
-
tabId
Zahl
-
connectInfo
Objekt optional
-
documentId
String optional
Chrome 106 und höher browser.* seit Chrome 148Öffnet einen Port zu einem bestimmten Dokument, das durch
documentIdidentifiziert wird, anstatt zu allen Frames im Tab. -
frameId
number optional
Öffnet einen Port zu einem bestimmten Frame, der durch
frameIdidentifiziert wird, anstatt zu allen Frames im Tab. -
name
String optional
Wird an „onConnect“ für Inhaltsskripts übergeben, die auf das Verbindungsereignis warten.
-
Ausgabe
-
Ein Port, der für die Kommunikation mit den Inhaltsskripts verwendet werden kann, die auf dem angegebenen Tab ausgeführt werden. Das
runtime.Port-Ereignis des Ports wird ausgelöst, wenn der Tab geschlossen wird oder nicht vorhanden ist.
Parameter
-
createProperties
Objekt
-
aktiv
boolean optional
Gibt an, ob der Tab der aktive Tab im Fenster werden soll. Hat keine Auswirkungen darauf, ob das Fenster fokussiert ist (siehe
windows.update). Der Standardwert isttrue. -
Index
number optional
Die Position, die der Tab im Fenster einnehmen soll. Der angegebene Wert wird auf einen Wert zwischen null und der Anzahl der Tabs im Fenster beschränkt.
-
openerTabId
number optional
Die ID des Tabs, über den dieser Tab geöffnet wurde. Falls angegeben, muss sich der Tab, der den neuen Tab geöffnet hat, im selben Fenster wie der neu erstellte Tab befinden.
-
Angepinnt
boolean optional
Gibt an, ob der Tab angepinnt werden soll. Die Standardeinstellung ist
false. -
ausgewählt
boolean optional
EingestelltBitte verwenden Sie active.
Gibt an, ob der Tab der ausgewählte Tab im Fenster werden soll. Die Standardeinstellung ist
true. -
splitWithTabId
number optional
Chrome 155 oder höherDie ID eines vorhandenen Tabs, mit dem eine geteilte Ansicht erstellt werden soll. Falls angegeben, muss der Tab „split-with“ die folgenden Bedingungen erfüllen:
- Es darf sich nicht um einen bereits geteilten Tab handeln.
- Sie muss sich im selben Fenster wie der neu erstellte Tab befinden.
- Wenn
windowIdangegeben ist, muss es mit der Fenster-ID des Tabs übereinstimmen, mit dem der Bildschirm geteilt wird. - Wenn
indexangegeben ist, muss es sich um einen Index handeln, der an den Tab angrenzt, mit dem der Tab geteilt wird. Dies wirkt sich auf die relative Positionierung des neu erstellten Tabs aus.
-
URL
String optional
Die URL, zu der der Tab zuerst navigieren soll. Vollständig qualifizierte URLs müssen ein Schema enthalten (z.B. „http://www.google.com“, nicht „www.google.com“). Relative URLs beziehen sich auf die aktuelle Seite innerhalb der Erweiterung. Standardmäßig wird die Seite „Neuer Tab“ verwendet.
-
windowId
number optional
Das Fenster, in dem der neue Tab erstellt werden soll. Die Standardeinstellung ist das aktuelle Fenster.
-
Ausgabe
-
Promise<Tab>
Chrome 88 und höher browser.* seit Chrome 148
createSplit()
browser.tabs.createSplit(
tabIds: [number, number],
): Promise<number>
Teilt zwei vorhandene Tabs in eine geteilte Ansicht auf.
Parameter
-
tabIds
[number, number]
Ein Array mit genau zwei Tab-IDs, die in einer geteilten Ansicht gekoppelt werden sollen. Alle Tabs müssen die folgenden Bedingungen erfüllen:
Sie müssen nebeneinander liegen. Sie dürfen sich noch nicht in einer geteilten Ansicht befinden. Sie müssen übereinstimmende
windowId-,pinned- undgroupId-Status haben.
Ausgabe
-
Promise<number>
detectLanguage()
browser.tabs.detectLanguage(
tabId?: number,
): Promise<string>
Erkennt die Hauptsprache des Inhalts in einem Tab.
Parameter
-
tabId
number optional
Standardmäßig wird der aktive Tab des aktuellen Fensters verwendet.
Ausgabe
-
Promise<string>
Chrome 88 und höher browser.* seit Chrome 148
discard()
browser.tabs.discard(
tabId?: number,
): Promise<Tab | undefined>
Entfernt einen Tab aus dem Arbeitsspeicher. Verworfene Tabs sind weiterhin in der Tableiste sichtbar und werden neu geladen, wenn sie aktiviert werden.
Parameter
-
tabId
number optional
Die ID des Tabs, der verworfen werden soll. Wenn angegeben, wird der Tab verworfen, es sei denn, er ist aktiv oder wurde bereits verworfen. Wenn nichts angegeben ist, verwirft der Browser den am wenigsten wichtigen Tab. Dies kann fehlschlagen, wenn keine verwerfbaren Tabs vorhanden sind.
Ausgabe
-
Promise<Tab | undefined>
Chrome 88 und höher browser.* seit Chrome 148Wird aufgelöst, nachdem der Vorgang abgeschlossen ist.
Parameter
-
tabId
Zahl
Die ID des Tabs, der dupliziert werden soll.
Ausgabe
-
Promise<Tab | undefined>
Chrome 88 und höher browser.* seit Chrome 148
Parameter
-
tabId
Zahl
Ausgabe
-
Promise<Tab>
Chrome 88 und höher browser.* seit Chrome 148
getCurrent()
browser.tabs.getCurrent(): Promise<Tab | undefined>
Ruft den Tab ab, von dem aus dieser Skriptaufruf erfolgt. Gibt undefined zurück, wenn der Aufruf aus einem Kontext erfolgt, der kein Tab ist (z. B. eine Hintergrundseite oder eine Pop-up-Ansicht).
Ausgabe
-
Promise<Tab | undefined>
Chrome 88 und höher browser.* seit Chrome 148
getZoom()
browser.tabs.getZoom(
tabId?: number,
): Promise<number>
Ruft den aktuellen Zoomfaktor eines angegebenen Tabs ab.
Parameter
-
tabId
number optional
Die ID des Tabs, von dem der aktuelle Zoomfaktor abgerufen werden soll. Standardmäßig wird der aktive Tab des aktuellen Fensters verwendet.
Ausgabe
-
Promise<number>
Chrome 88 und höher browser.* seit Chrome 148Wird mit dem aktuellen Zoomfaktor des Tabs aufgelöst, nachdem er abgerufen wurde.
getZoomSettings()
browser.tabs.getZoomSettings(
tabId?: number,
): Promise<ZoomSettings>
Ruft die aktuellen Zoomeinstellungen eines angegebenen Tabs ab.
Parameter
-
tabId
number optional
Die ID des Tabs, von dem die aktuellen Zoomeinstellungen abgerufen werden sollen. Standardmäßig wird der aktive Tab des aktuellen Fensters verwendet.
Ausgabe
-
Promise<ZoomSettings>
Chrome 88 und höher browser.* seit Chrome 148Wird mit den aktuellen Zoomeinstellungen des Tabs aufgelöst.
goBack()
browser.tabs.goBack(
tabId?: number,
): Promise<void>
Zurück zur vorherigen Seite, falls verfügbar.
Parameter
-
tabId
number optional
Die ID des Tabs, zu dem zurückgegangen werden soll. Standardmäßig ist dies der ausgewählte Tab des aktuellen Fensters.
Ausgabe
-
Promise<void>
Chrome 88 und höher browser.* seit Chrome 148
goForward()
browser.tabs.goForward(
tabId?: number,
): Promise<void>
Zur nächsten Seite wechseln, falls eine verfügbar ist.
Parameter
-
tabId
number optional
Die ID des Tabs, zu dem vorwärts navigiert werden soll. Standardmäßig wird der ausgewählte Tab des aktuellen Fensters verwendet.
Ausgabe
-
Promise<void>
Chrome 88 und höher browser.* seit Chrome 148
group()
browser.tabs.group(
options: object,
): Promise<number>
Fügt einer angegebenen Gruppe einen oder mehrere Tabs hinzu. Wenn keine Gruppe angegeben ist, werden die angegebenen Tabs einer neu erstellten Gruppe hinzugefügt.
Parameter
-
Optionen
Objekt
-
createProperties
Objekt optional
Konfigurationen zum Erstellen einer Gruppe. Kann nicht verwendet werden, wenn „groupId“ bereits angegeben ist.
-
windowId
number optional
Das Fenster der neuen Gruppe. Die Standardeinstellung ist das aktuelle Fenster.
-
-
groupId
number optional
Die ID der Gruppe, der die Tabs hinzugefügt werden sollen. Wenn keine Angabe erfolgt, wird eine neue Gruppe erstellt.
-
tabIds
number | [number, ...number[]]
Die Tab-ID oder Liste von Tab-IDs, die der angegebenen Gruppe hinzugefügt werden sollen.
-
Ausgabe
-
Promise<number>
highlight()
browser.tabs.highlight(
highlightInfo: object,
): Promise<windows.Window>
Hebt die angegebenen Tabs hervor und fokussiert den ersten Tab der Gruppe. Wenn der angegebene Tab gerade aktiv ist, passiert nichts.
Parameter
-
highlightInfo
Objekt
-
tabs
number | number[]
Ein oder mehrere Tab-Indizes, die hervorgehoben werden sollen.
-
windowId
number optional
Das Fenster, das die Tabs enthält.
-
Ausgabe
-
Promise<windows.Window>
Chrome 88 und höher browser.* seit Chrome 148
move()
browser.tabs.move(
tabIds: number | number[],
moveProperties: object,
): Promise<Tab | Tab[]>
Verschiebt einen oder mehrere Tabs an eine neue Position innerhalb des Fensters oder in ein neues Fenster. Tabs können nur in und aus normalen Fenstern (window.type === „normal“) verschoben werden.
Parameter
-
tabIds
number | number[]
Die Tab-ID oder Liste der Tab-IDs, die verschoben werden sollen.
-
moveProperties
Objekt
-
Index
Zahl
Die Position, an die das Fenster verschoben werden soll. Verwenden Sie
-1, um den Tab am Ende des Fensters zu platzieren. -
windowId
number optional
Die Standardeinstellung ist das Fenster, in dem sich der Tab gerade befindet.
-
query()
browser.tabs.query(
queryInfo: object,
): Promise<Tab[]>
Ruft alle Tabs mit den angegebenen Attributen ab oder alle Tabs, wenn keine Attribute angegeben sind.
Parameter
-
queryInfo
Objekt
-
aktiv
boolean optional
Ob die Tabs in ihren Fenstern aktiv sind.
-
audible
boolean optional
Chrome 45 und höher browser.* seit Chrome 148Gibt an, ob die Tabs hörbar sind.
-
autoDiscardable
boolean optional
Chrome 54 und höher browser.* seit Chrome 148Gibt an, ob die Tabs vom Browser automatisch verworfen werden können, wenn die Ressourcen knapp sind.
-
currentWindow
boolean optional
Ob sich die Tabs im aktuellen Fenster befinden.
-
verworfen
boolean optional
Chrome 54 und höher browser.* seit Chrome 148Gibt an, ob die Tabs verworfen werden. Ein verworfener Tab ist ein Tab, dessen Inhalt aus dem Arbeitsspeicher entfernt wurde, der aber weiterhin im Tabstreifen sichtbar ist. Der Inhalt wird beim nächsten Aktivieren neu geladen.
-
Reagiert nicht
boolean optional
Chrome 132+ browser.* seit Chrome 148Ob die Tabs eingefroren sind. Ein deaktivierter Tab kann keine Aufgaben ausführen, einschließlich Event-Handler oder Timer. Er ist in der Tableiste sichtbar und sein Inhalt wird in den Arbeitsspeicher geladen. Sie wird bei der Aktivierung wieder freigegeben.
-
groupId
number optional
Chrome 88 und höher browser.* seit Chrome 148Die ID der Gruppe, in der sich die Tabs befinden, oder
tabGroups.TAB_GROUP_ID_NONEfür nicht gruppierte Tabs. -
hervorgehoben
boolean optional
Gibt an, ob die Tabs hervorgehoben sind.
-
Index
number optional
Die Position der Tabs in den Fenstern.
-
lastFocusedWindow
boolean optional
Gibt an, ob sich die Tabs im zuletzt fokussierten Fenster befinden.
-
stummgeschaltet
boolean optional
Chrome 45 und höher browser.* seit Chrome 148Gibt an, ob die Tabs stummgeschaltet sind.
-
Angepinnt
boolean optional
Ob die Tabs angepinnt sind.
-
splitViewId
number optional
Chrome 140+ browser.* seit Chrome 148Die ID der geteilten Ansicht, in der sich die Tabs befinden, oder
tabs.SPLIT_VIEW_ID_NONEfür Tabs, die sich nicht in einer geteilten Ansicht befinden. -
Status
TabStatus optional
Der Ladestatus des Tabs.
-
Titel
String optional
Seitentitel mit einem Muster abgleichen. Diese Property wird ignoriert, wenn die Erweiterung nicht die Berechtigung
"tabs"oder Hostberechtigungen für die Seite hat. -
URL
string | string[] optional
Tabs mit einem oder mehreren URL-Mustern abgleichen. Fragmentbezeichner werden nicht abgeglichen. Diese Property wird ignoriert, wenn die Erweiterung nicht die Berechtigung
"tabs"oder Hostberechtigungen für die Seite hat. -
windowId
number optional
Die ID des übergeordneten Fensters oder
windows.WINDOW_ID_CURRENTfür das aktuelle Fenster. -
windowType
WindowType optional
Der Typ des Fensters, in dem sich die Tabs befinden.
-
Ausgabe
-
Promise<Tab[]>
Chrome 88 und höher browser.* seit Chrome 148
reload()
browser.tabs.reload(
tabId?: number,
reloadProperties?: object,
): Promise<void>
Tab aktualisieren
Parameter
-
tabId
number optional
Die ID des Tabs, der neu geladen werden soll. Standardmäßig wird der ausgewählte Tab des aktuellen Fensters verwendet.
-
reloadProperties
Objekt optional
-
bypassCache
boolean optional
Gibt an, ob das lokale Caching umgangen werden soll. Die Standardeinstellung ist
false.
-
Ausgabe
-
Promise<void>
Chrome 88 und höher browser.* seit Chrome 148
remove()
browser.tabs.remove(
tabIds: number | number[],
): Promise<void>
Schließt einen oder mehrere Tabs.
Parameter
-
tabIds
number | number[]
Die Tab-ID oder Liste der Tab-IDs, die geschlossen werden sollen.
Ausgabe
-
Promise<void>
Chrome 88 und höher browser.* seit Chrome 148
sendMessage()
browser.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
): Promise<any>
Sendet eine einzelne Nachricht an die Inhaltsskripts auf dem angegebenen Tab. Das Ereignis runtime.onMessage wird in jedem Inhaltsskript ausgelöst, das auf dem angegebenen Tab für die aktuelle Erweiterung ausgeführt wird.
Parameter
-
tabId
Zahl
-
Nachricht
beliebig
Die zu sendende Nachricht. Diese Nachricht muss ein JSON-fähiges Objekt sein.
-
Optionen
Objekt optional
-
documentId
String optional
Chrome 106 und höher browser.* seit Chrome 148Senden Sie eine Nachricht an ein bestimmtes Dokument, das durch
documentIdidentifiziert wird, anstatt an alle Frames im Tab. -
frameId
number optional
Senden Sie eine Nachricht an einen bestimmten Frame, der durch
frameIdidentifiziert wird, anstatt an alle Frames im Tab.
-
Ausgabe
-
Promise<any>
Chrome 99 und höher browser.* seit Chrome 148Promise, das mit der Antwort des Inhaltsskripts aufgelöst wird. Wenn beim Herstellen der Verbindung zum angegebenen Tab ein Fehler auftritt, wird das Promise abgelehnt.
setZoom()
browser.tabs.setZoom(
tabId?: number,
zoomFactor: number,
): Promise<void>
Zoomt einen bestimmten Tab.
Parameter
-
tabId
number optional
Die ID des Tabs, der gezoomt werden soll. Standardmäßig wird der aktive Tab des aktuellen Fensters verwendet.
-
zoomFactor
Zahl
Der neue Zoomfaktor. Der Wert
0legt den aktuellen Standardzoomfaktor für den Tab fest. Werte, die größer als0sind, geben einen (möglicherweise nicht standardmäßigen) Zoomfaktor für den Tab an.
Ausgabe
-
Promise<void>
Chrome 88 und höher browser.* seit Chrome 148Wird aufgelöst, nachdem der Zoomfaktor geändert wurde.
setZoomSettings()
browser.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
): Promise<void>
Legt die Zoomeinstellungen für einen bestimmten Tab fest, die definieren, wie Zoomänderungen verarbeitet werden. Diese Einstellungen werden beim Verlassen des Tabs auf die Standardwerte zurückgesetzt.
Parameter
-
tabId
number optional
Die ID des Tabs, für den die Zoomeinstellungen geändert werden sollen. Standardmäßig wird der aktive Tab des aktuellen Fensters verwendet.
-
zoomSettings
Definiert, wie Zoomänderungen verarbeitet werden und in welchem Umfang.
Ausgabe
-
Promise<void>
Chrome 88 und höher browser.* seit Chrome 148Wird behoben, nachdem die Zoomeinstellungen geändert wurden.
ungroup()
browser.tabs.ungroup(
tabIds: number | [number, ...number[]],
): Promise<void>
Entfernt einen oder mehrere Tabs aus den jeweiligen Gruppen. Wenn Gruppen leer werden, werden sie gelöscht.
Parameter
-
tabIds
number | [number, ...number[]]
Die Tab-ID oder Liste von Tab-IDs, die aus den jeweiligen Gruppen entfernt werden sollen.
Ausgabe
-
Promise<void>
unsplit()
browser.tabs.unsplit(
splitViewId: number,
): Promise<void>
Die Tabs in einer geteilten Ansicht werden in separate Tabs aufgeteilt.
Parameter
-
splitViewId
Zahl
Die ID der zu trennenden geteilten Ansicht.
Ausgabe
-
Promise<void>
update()
browser.tabs.update(
tabId?: number,
updateProperties: object,
): Promise<Tab | undefined>
Ändert die Eigenschaften eines Tabs. Properties, die nicht in updateProperties angegeben sind, werden nicht geändert.
Parameter
-
tabId
number optional
Standardmäßig wird der ausgewählte Tab des aktuellen Fensters verwendet.
-
updateProperties
Objekt
-
aktiv
boolean optional
Gibt an, ob der Tab aktiv sein soll. Hat keine Auswirkungen darauf, ob das Fenster fokussiert ist (siehe
windows.update). -
autoDiscardable
boolean optional
Chrome 54 und höher browser.* seit Chrome 148Gibt an, ob der Tab vom Browser automatisch verworfen werden soll, wenn die Ressourcen knapp sind.
-
hervorgehoben
boolean optional
Fügt den Tab der aktuellen Auswahl hinzu oder entfernt ihn daraus.
-
stummgeschaltet
boolean optional
Chrome 45 und höher browser.* seit Chrome 148Gibt an, ob der Tab stummgeschaltet werden soll.
-
openerTabId
number optional
Die ID des Tabs, über den dieser Tab geöffnet wurde. Falls angegeben, muss sich der Tab, der den neuen Tab geöffnet hat, im selben Fenster wie dieser Tab befinden.
-
Angepinnt
boolean optional
Gibt an, ob der Tab angepinnt werden soll.
-
ausgewählt
boolean optional
EingestelltBitte verwenden Sie hervorgehoben.
Gibt an, ob der Tab ausgewählt werden soll.
-
URL
String optional
Eine URL, zu der der Tab weitergeleitet werden soll. JavaScript-URLs werden nicht unterstützt. Verwenden Sie stattdessen
scripting.executeScript.
-
Ausgabe
-
Promise<Tab | undefined>
Chrome 88 und höher browser.* seit Chrome 148
Ereignisse
onActivated
browser.tabs.onActivated.addListener(
callback: function,
)
Wird ausgelöst, wenn sich der aktive Tab in einem Fenster ändert. Beachten Sie, dass die URL des Tabs möglicherweise nicht festgelegt ist, wenn dieses Ereignis ausgelöst wird. Sie können jedoch auf onUpdated-Ereignisse warten, um benachrichtigt zu werden, wenn eine URL festgelegt wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(activeInfo: object) => void
-
activeInfo
Objekt
-
tabId
Zahl
Die ID des Tabs, der aktiv geworden ist.
-
windowId
Zahl
Die ID des Fensters, in dem sich der aktive Tab geändert hat.
-
-
onAttached
browser.tabs.onAttached.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Tab an ein Fenster angehängt wird, z. B. weil er zwischen Fenstern verschoben wurde.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(tabId: number, attachInfo: object) => void
-
tabId
Zahl
-
attachInfo
Objekt
-
newPosition
Zahl
-
newWindowId
Zahl
-
-
onCreated
browser.tabs.onCreated.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Tab erstellt wird. Beachten Sie, dass die URL des Tabs, die Zugehörigkeit zu einer Tabgruppe und die Zugehörigkeit zu einer geteilten Ansicht möglicherweise nicht festgelegt sind, wenn dieses Ereignis ausgelöst wird. Sie können jedoch auf „onUpdated“-Ereignisse warten, um benachrichtigt zu werden, wenn eine URL festgelegt oder der Tab einer Tabgruppe oder geteilten Ansicht hinzugefügt wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(tab: Tab) => void
-
Tabulatortaste
-
onDetached
browser.tabs.onDetached.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Tab von einem Fenster getrennt wird, z. B. weil er in ein anderes Fenster verschoben wurde.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(tabId: number, detachInfo: object) => void
-
tabId
Zahl
-
detachInfo
Objekt
-
oldPosition
Zahl
-
oldWindowId
Zahl
-
-
onHighlighted
browser.tabs.onHighlighted.addListener(
callback: function,
)
Wird ausgelöst, wenn sich die hervorgehobenen oder ausgewählten Tabs in einem Fenster ändern.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(highlightInfo: object) => void
-
highlightInfo
Objekt
-
tabIds
number[]
Alle markierten Tabs im Fenster.
-
windowId
Zahl
Das Fenster, dessen Tabs geändert wurden.
-
-
onMoved
browser.tabs.onMoved.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Tab innerhalb eines Fensters verschoben wird. Es wird nur ein Verschiebeereignis ausgelöst, das den Tab darstellt, den der Nutzer direkt verschoben hat. Für die anderen Tabs, die sich als Reaktion auf den manuell verschobenen Tab bewegen müssen, werden keine Verschiebungsereignisse ausgelöst. Dieses Ereignis wird nicht ausgelöst, wenn ein Tab zwischen Fenstern verschoben wird. Weitere Informationen finden Sie unter tabs.onDetached.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(tabId: number, moveInfo: object) => void
-
tabId
Zahl
-
moveInfo
Objekt
-
fromIndex
Zahl
-
toIndex
Zahl
-
windowId
Zahl
-
-
onRemoved
browser.tabs.onRemoved.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Tab geschlossen wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(tabId: number, removeInfo: object) => void
-
tabId
Zahl
-
removeInfo
Objekt
-
isWindowClosing
boolean
„True“, wenn der Tab geschlossen wurde, weil das übergeordnete Fenster geschlossen wurde.
-
windowId
Zahl
Das Fenster, dessen Tab geschlossen wird.
-
-
onReplaced
browser.tabs.onReplaced.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Tab aufgrund von Prerendering oder Instant durch einen anderen Tab ersetzt wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(addedTabId: number, removedTabId: number) => void
-
addedTabId
Zahl
-
removedTabId
Zahl
-
onUpdated
browser.tabs.onUpdated.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Tab aktualisiert wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(tabId: number, changeInfo: object, tab: Tab) => void
-
tabId
Zahl
-
changeInfo
Objekt
-
audible
boolean optional
Chrome 45 und höher browser.* seit Chrome 148Der neue Audiostatus des Tabs.
-
autoDiscardable
boolean optional
Chrome 54 und höher browser.* seit Chrome 148Der neue Status des Tabs für das automatische Verwerfen.
-
verworfen
boolean optional
Chrome 54 und höher browser.* seit Chrome 148Der neue verworfene Status des Tabs.
-
favIconUrl
String optional
Die neue Favicon-URL des Tabs.
-
Reagiert nicht
boolean optional
Chrome 132+ browser.* seit Chrome 148Der neue eingefrorene Status des Tabs.
-
groupId
number optional
Chrome 88 und höher browser.* seit Chrome 148Die neue Gruppe des Tabs.
-
mutedInfo
MutedInfo optional
Chrome 46 oder höher browser.* seit Chrome 148Der neue Stummschaltungsstatus des Tabs und der Grund für die Änderung.
-
Angepinnt
boolean optional
Der neue angepinnte Status des Tabs.
-
splitViewId
number optional
Chrome 140+ browser.* seit Chrome 148Die neue geteilte Ansicht des Tabs.
-
Status
TabStatus optional
Der Ladestatus des Tabs.
-
Titel
String optional
Chrome 48 oder höher browser.* seit Chrome 148Der neue Titel des Tabs.
-
URL
String optional
Die URL des Tabs, falls sie sich geändert hat.
-
-
Tabulatortaste
-
onZoomChange
browser.tabs.onZoomChange.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Tab gezoomt wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
Objekt
-
newZoomFactor
Zahl
-
oldZoomFactor
Zahl
-
tabId
Zahl
-
zoomSettings
-
-