tabs
Interagieren Sie mit dem Tab-System des Browsers.
Hinweis:
Bei Verwendung von Manifest V3 oder höher werden die Methoden zum Ausführen von Skripten, Einfügen von CSS und Entfernen von CSS von der scripting
API über die Methoden scripting.executeScript()
, scripting.insertCSS()
und scripting.removeCSS()
bereitgestellt.
Sie können diese API verwenden, um eine Liste geöffneter Tabs zu erhalten, gefiltert nach verschiedenen Kriterien, und 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, jedoch können Sie JavaScript und CSS mit den APIs tabs.executeScript()
oder tabs.insertCSS()
in Tabs einfügen.
Die meisten Funktionen dieser API können ohne spezielle Berechtigungen genutzt werden. Jedoch:
-
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 Sie haben 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 stattdessen die Berechtigung "tabs" 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 temporär, nur für den aktuell aktiven Tab und nur als Reaktion auf eine explizite Benutzeraktion erhalten, indem Sie die "activeTab"
Berechtigung anfordern.
Viele Tab-Operationen verwenden eine Tab-id
. Tab-id
s sind innerhalb einer Browsersitzung eindeutig für einen einzelnen Tab garantiert. Wenn der Browser neu gestartet wird, können und werden Tab-id
s wiederverwendet. Um Informationen mit einem Tab über Browser-Neustarts hinaus 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 eine boolesche Angabe, 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
-
Gibt an, ob das Laden des Tabs abgeschlossen ist.
tabs.WindowType
-
Der Fenstertyp, der diesen Tab hostet.
tabs.ZoomSettingsMode
-
Definiert, ob Zoomänderungen vom Browser, der Erweiterung oder deaktiviert gehandhabt werden.
tabs.ZoomSettingsScope
-
Definiert, ob Zoomänderungen für den Ursprung der Seite beibehalten werden 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 (z.B. Tabs in Devtools-Fenstern).
Funktionen
tabs.captureTab()
-
Erstellt eine Daten-URL, die ein Bild des sichtbaren Bereichs des angegebenen Tabs codiert.
tabs.captureVisibleTab()
-
Erstellt eine Daten-URL, die ein Bild des sichtbaren Bereichs des derzeit aktiven Tabs im angegebenen Fenster codiert.
tabs.connect()
-
Richtet eine Messaging-Verbindung zwischen den Hintergrundskripten der Erweiterung (oder anderen privilegierten Skripten, wie z.B. Popup-Skripten oder Optionsseitenskripten) und allen Inhaltsskripten im angegebenen Tab ein.
tabs.create()
-
Erstellt einen neuen Tab.
tabs.detectLanguage()
-
Erkennt die Hauptsprache des Inhalts in einem Tab.
tabs.discard()
-
Verwirft einen oder mehrere Tabs.
tabs.duplicate()
-
Doppelt einen Tab.
tabs.executeScript()
(nur Manifest V2)-
Führt JavaScript-Code in eine Seite ein.
tabs.get()
-
Ruft Details über den angegebenen Tab ab.
tabs.getAllInWindow()
Veraltet-
Ruft Details über alle Tabs im angegebenen Fenster ab.
tabs.getCurrent()
-
Ruft Informationen über den Tab ab, in dem dieses Skript ausgeführt wird, als ein
tabs.Tab
-Objekt. tabs.getSelected()
Veraltet-
Ruft den Tab ab, der im angegebenen Fenster ausgewählt ist. Veraltet: Verwenden Sie stattdessen
tabs.query({active: true})
. tabs.getZoom()
-
Ruft den aktuellen Zoomfaktor des angegebenen Tabs ab.
tabs.getZoomSettings()
-
Ruft die aktuellen Zoom-Einstellungen für den angegebenen Tab ab.
tabs.goForward()
-
Geht zur nächsten Seite, falls eine verfügbar ist.
tabs.goBack()
-
Geht zur vorigen Seite, falls eine verfügbar ist.
tabs.group()
-
Fügt Tabs zu einer Tab-Gruppe hinzu.
tabs.hide()
Experimentell-
Versteckt einen oder mehrere Tabs.
tabs.highlight()
-
Hebt einen oder mehrere Tabs hervor.
tabs.insertCSS()
(nur Manifest V2)-
Fügt CSS in eine Seite ein.
tabs.move()
-
Verschiebt einen oder mehrere Tabs an eine neue Position im gleichen Fenster oder in ein anderes Fenster.
tabs.moveInSuccession()
-
Ändert die Nachfolgerelation 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()
-
Ruft alle Tabs ab, die die angegebenen Eigenschaften haben, oder alle Tabs, wenn keine Eigenschaften angegeben sind.
tabs.reload()
-
Lädt einen Tab neu, optional unter Umgehung des lokalen Webcaches.
tabs.remove()
-
Schließt einen oder mehrere Tabs.
tabs.removeCSS()
(nur Manifest V2)-
Entfernt aus einer Seite CSS, das zuvor durch einen Aufruf von
tabs.insertCSS()
eingefügt wurde. tabs.saveAsPDF()
-
Speichert die aktuelle Seite als PDF.
tabs.sendMessage()
-
Sendet eine einzelne Nachricht an die Inhaltskript(e) im angegebenen Tab.
tabs.sendRequest()
Veraltet-
Sendet eine einzelne Anforderung an die Inhaltskript(e) im angegebenen Tab. Veraltet: verwenden Sie stattdessen
tabs.sendMessage()
. tabs.setZoom()
-
Zoomt den angegebenen Tab.
tabs.setZoomSettings()
-
Legt die Zoom-Einstellungen für den angegebenen Tab fest.
tabs.show()
Experimentell-
Zeigt einen oder mehrere Tabs, die zuvor
ausgeblendet
wurden. tabs.toggleReaderMode()
-
Schaltet den Reader-Modus für den angegebenen Tab um.
tabs.ungroup()
-
Entfernt Tabs aus Tab-Gruppen.
tabs.update()
-
Navigiert den Tab zu einer neuen URL oder ändert andere Eigenschaften des Tabs.
tabs.warmup()
-
Bereitet den Tab vor, um einen potenziell 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 einem 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 getrennt 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 geändert werden. Veraltet: Verwenden Sie stattdessen
tabs.onHighlighted
. tabs.onHighlighted
-
Wird ausgelöst, wenn die hervorgehobenen oder ausgewählten Tabs in einem Fenster geändert werden.
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 aufgrund von Vorerendering durch einen anderen Tab 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
Beispielerweiterungen
- 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 chrome.tabs
API von Chromium. Diese Dokumentation leitet sich von tabs.json
im Chromium-Code ab.