tabs
Interagieren Sie mit dem Tab-System des Browsers.
Hinweis: Bei der Verwendung von Manifest V3 oder höher werden die Methoden zum Ausführen von Skripten, Einfügen von CSS und Entfernen von CSS durch die scripting
API durch die Methoden scripting.executeScript()
, scripting.insertCSS()
und scripting.removeCSS()
bereitgestellt.
Sie können diese API verwenden, um eine Liste geöffneter Tabs zu erhalten, die nach verschiedenen Kriterien gefiltert sind, sowie um Tabs zu öffnen, zu aktualisieren, zu verschieben, neu zu laden und zu entfernen. Sie können mit dieser API nicht direkt auf die von Tabs gehosteten Inhalte zugreifen, aber Sie können JavaScript und CSS in Tabs einfügen, indem Sie die tabs.executeScript()
oder tabs.insertCSS()
APIs verwenden.
Sie können den Großteil dieser API ohne besondere Berechtigungen verwenden. Allerdings:
-
Um auf
Tab.url
,Tab.title
undTab.favIconUrl
zuzugreifen (oder um nach diesen Eigenschaften übertabs.query()
zu filtern), benötigen Sie die"tabs"
Berechtigung oder Host-Berechtigungen, die mitTab.url
übereinstimmen.- Der Zugriff auf diese Eigenschaften durch Host-Berechtigungen wird seit Firefox 86 und Chrome 50 unterstützt. In Firefox 85 und früher war die "tabs"-Berechtigung erforderlich.
-
Um
tabs.executeScript()
odertabs.insertCSS()
zu verwenden, müssen Sie die Host-Berechtigung für den Tab haben
Alternativ können Sie diese Berechtigungen vorübergehend erhalten, nur für den aktuell aktiven Tab und nur als Reaktion auf eine explizite Benutzeraktion, indem Sie um die "activeTab"
Berechtigung bitten.
Viele Tab-Operationen verwenden eine Tab-id
. Tab-id
s sind innerhalb einer Browsersitzung garantiert eindeutig für einen einzelnen Tab. Wenn der Browser neu gestartet wird, können und werden Tab-id
s wiederverwendet. Um Informationen mit einem Tab über Browser-Neustarts hinweg zu verknüpfen, verwenden Sie sessions.setTabValue()
.
Typen
tabs.MutedInfoReason
-
Gibt den Grund an, warum ein Tab stummgeschaltet oder die Stummschaltung aufgehoben wurde.
tabs.MutedInfo
-
Dieses Objekt enthält einen Boolean, der anzeigt, ob der Tab stummgeschaltet ist, und den Grund für die letzte Statusänderung.
tabs.PageSettings
-
Wird verwendet, um zu steuern, wie ein Tab als PDF durch die Methode
tabs.saveAsPDF()
gerendert wird. tabs.Tab
-
Dieser Typ enthält Informationen über einen Tab.
tabs.TabStatus
-
Zeigt an, ob das Laden des Tabs abgeschlossen ist.
tabs.WindowType
-
Der Fenstertyp, der diesen Tab hostet.
tabs.ZoomSettingsMode
-
Definiert, ob Änderungen der Zoomstufe vom Browser, der Erweiterung oder gar nicht gehandhabt werden.
tabs.ZoomSettingsScope
-
Definiert, ob Zoomänderungen für den Ursprung der Seite bestehen bleiben oder nur in diesem Tab wirksam werden.
tabs.ZoomSettings
-
Definiert Zoom-Einstellungen
mode
,scope
und den Standard-Zoomfaktor.
Eigenschaften
tabs.TAB_ID_NONE
-
Ein spezieller ID-Wert, der Tabs zugewiesen wird, die keine Browser-Tabs sind (zum Beispiel Tabs in Devtools-Fenstern).
Funktionen
tabs.captureTab()
-
Erstellt eine Daten-URL, die ein Bild des sichtbaren Bereichs des angegebenen Tabs kodiert.
tabs.captureVisibleTab()
-
Erstellt eine Daten-URL, die ein Bild des sichtbaren Bereichs des aktuell aktiven Tabs im angegebenen Fenster kodiert.
tabs.connect()
-
Richtet eine Nachrichtenverbindung zwischen den Hintergrundskripten der Erweiterung (oder anderen privilegierten Skripten, wie Popup-Skripten oder Optionsseitenskripten) und allen Inhalts-Skripten ein, die im angegebenen Tab ausgeführt werden.
tabs.create()
-
Erstellt einen neuen Tab.
tabs.detectLanguage()
-
Ermittelt die Hauptsprache des Inhalts in einem Tab.
tabs.discard()
-
Verwirft einen oder mehrere Tabs.
tabs.duplicate()
-
Dupliziert einen Tab.
tabs.executeScript()
(Nur Manifest V2)-
Integriert JavaScript-Code in eine Seite.
tabs.get()
-
Ruft Details über den angegebenen Tab ab.
tabs.getAllInWindow()
Veraltet-
Holt Details über alle Tabs im angegebenen Fenster.
tabs.getCurrent()
-
Erhält Informationen über den Tab, in dem dieses Skript ausgeführt wird, als
tabs.Tab
-Objekt. tabs.getSelected()
Veraltet-
Erhält den Tab, der im angegebenen Fenster ausgewählt ist. Veraltet: verwenden Sie stattdessen
tabs.query({active: true})
. tabs.getZoom()
-
Holt den aktuellen Zoomfaktor des angegebenen Tabs.
tabs.getZoomSettings()
-
Holt die aktuellen Zoomeinstellungen für den angegebenen Tab.
tabs.goForward()
-
Geht zur nächsten Seite weiter, falls verfügbar.
tabs.goBack()
-
Geht zur vorherigen Seite zurück, falls verfügbar.
tabs.hide()
Experimentell-
Verbirgt einen oder mehrere Tabs.
tabs.highlight()
-
Hebt einen oder mehrere Tabs hervor.
tabs.insertCSS()
(Nur Manifest V2)-
Integriert CSS in eine Seite.
tabs.move()
-
Verschiebt einen oder mehrere Tabs an eine neue Position im selben Fenster oder in ein anderes Fenster.
tabs.moveInSuccession()
-
Ändert die Reihenfolge-Beziehung für eine Gruppe von Tabs.
tabs.print()
-
Druckt den Inhalt des aktiven Tabs.
tabs.printPreview()
-
Öffnet die Druckvorschau für den aktiven Tab.
tabs.query()
-
Holt alle Tabs, die die angegebenen Eigenschaften haben, oder alle Tabs, wenn keine Eigenschaften angegeben sind.
tabs.reload()
-
Lädt einen Tab neu und umgeht dabei optional den lokalen Webcache.
tabs.remove()
-
Schließt einen oder mehrere Tabs.
tabs.removeCSS()
(Nur Manifest V2)-
Entfernt CSS von einer Seite, das zuvor durch den Aufruf von
tabs.insertCSS()
eingefügt wurde. tabs.saveAsPDF()
-
Speichert die aktuelle Seite als PDF.
tabs.sendMessage()
-
Sendet eine einzelne Nachricht an das Inhalts-Skript(e) im angegebenen Tab.
tabs.sendRequest()
Veraltet-
Sendet eine einzelne Anfrage an das Inhalts-Skript(e) im angegebenen Tab. Veraltet: verwenden Sie stattdessen
tabs.sendMessage()
. tabs.setZoom()
-
Zoomt den angegebenen Tab.
tabs.setZoomSettings()
-
Setzt die Zoomeinstellungen für den angegebenen Tab.
tabs.show()
Experimentell-
Zeigt einen oder mehrere Tabs an, die
versteckt
wurden. tabs.toggleReaderMode()
-
Schaltet den Reader-Modus für den angegebenen Tab um.
tabs.update()
-
Navigiert den Tab zu einer neuen URL oder ändert andere Eigenschaften des Tabs.
tabs.warmup()
-
Bereitet den Tab vor, um einen potenziellen folgenden Wechsel schneller zu machen.
Ereignisse
tabs.onActivated
-
Wird ausgelöst, wenn sich der aktive Tab in einem Fenster ändert. Beachten Sie, dass die URL des Tabs möglicherweise nicht gesetzt ist, wenn dieses Ereignis ausgelöst wird.
tabs.onActiveChanged
Veraltet-
Wird ausgelöst, wenn sich der ausgewählte Tab in einem Fenster ändert. Veraltet: verwenden Sie stattdessen
tabs.onActivated
. tabs.onAttached
-
Wird ausgelöst, wenn ein Tab an ein Fenster angehängt wird, zum Beispiel weil er zwischen Fenstern verschoben wurde.
tabs.onCreated
-
Wird ausgelöst, wenn ein Tab erstellt wird. Beachten Sie, dass die URL des Tabs möglicherweise nicht gesetzt ist, wenn dieses Ereignis ausgelöst wird.
tabs.onDetached
-
Wird ausgelöst, wenn ein Tab von einem Fenster gelöst wird, zum Beispiel, weil er zwischen Fenstern verschoben wird.
tabs.onHighlightChanged
Veraltet-
Wird ausgelöst, wenn die hervorgehobenen oder ausgewählten Tabs in einem Fenster sich ändern. Veraltet: Verwenden Sie stattdessen
tabs.onHighlighted
. tabs.onHighlighted
-
Wird ausgelöst, wenn die hervorgehobenen oder ausgewählten Tabs in einem Fenster sich ändern.
tabs.onMoved
-
Wird ausgelöst, wenn ein Tab innerhalb eines Fensters verschoben wird.
tabs.onRemoved
-
Wird ausgelöst, wenn ein Tab geschlossen wird.
tabs.onReplaced
-
Wird ausgelöst, wenn ein Tab durch einen anderen Tab aufgrund von Vorabladen ersetzt wird.
tabs.onSelectionChanged
Veraltet-
Wird ausgelöst, wenn sich der ausgewählte Tab in einem Fenster ändert. Veraltet: verwenden Sie stattdessen
tabs.onActivated
. tabs.onUpdated
-
Wird ausgelöst, wenn ein Tab aktualisiert wird.
tabs.onZoomChange
-
Wird ausgelöst, wenn ein Tab gezoomt wird.
Browser-Kompatibilität
BCD tables only load in the browser
Beispiel-Erweiterungen
- annotate-page
- apply-css
- beastify
- bookmark-it
- chill-out
- commands
- context-menu-copy-link-with-types
- contextual-identities
- cookie-bg-picker
- devtools-panels
- find-across-tabs
- firefox-code-search
- history-deleter
- imagify
- list-cookies
- menu-demo
- menu-labelled-open
- menu-remove-element
- open-my-page-button
- permissions
- session-state
- store-collected-images
- tabs-tabs-tabs
Hinweis: Diese API basiert auf der Chromium-API chrome.tabs
. Diese Dokumentation ist abgeleitet von tabs.json
im Chromium-Code.