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 der geöffneten 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 den Inhalt zugreifen, der von Tabs gehostet wird, aber Sie können JavaScript und CSS in Tabs mithilfe der APIs tabs.executeScript() oder tabs.insertCSS() einfügen.
Sie können die meisten Teile dieser API ohne spezielle Berechtigungen verwenden. Allerdings:
-
Um auf
Tab.url,Tab.titleundTab.favIconUrlzuzugreifen (oder um diese Eigenschaften übertabs.query()zu filtern), müssen Sie die Berechtigung"tabs"permission oder host permissions haben, die mitTab.urlübereinstimmen.- Der Zugriff auf diese Eigenschaften über 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 permission für den Tab haben
Alternativ können Sie diese Berechtigungen vorübergehend, nur für den derzeit aktiven Tab und nur als Reaktion auf eine explizite Benutzeraktion, erhalten, indem Sie die "activeTab" permission anfordern.
Viele Tab-Operationen verwenden eine Tab-id. Tab-ids sind innerhalb einer Browsersitzung garantiert eindeutig für einen einzelnen Tab. Wenn der Browser neu gestartet wird, können und werden Tab-ids 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 nicht stummgeschaltet wurde.
tabs.MutedInfo-
Dieses Objekt enthält ein Boolean, das angibt, 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 der Tab das Laden abgeschlossen hat.
tabs.WindowType-
Der Typ des Fensters, das diesen Tab hostet.
tabs.ZoomSettingsMode-
Definiert, ob Zoom-Änderungen vom Browser, von 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 sind.
tabs.ZoomSettings-
Definiert Zoom-Einstellungen
mode,scopeund den Standard-Zoom-Faktor.
Eigenschaften
tabs.TAB_ID_NONE-
Ein spezieller ID-Wert, der Tabs zugewiesen wird, die keine Browser-Tabs sind (zum Beispiel Tabs in Entwickler-Tools-Fenstern).
tabs.SPLIT_VIEW_ID_NONE-
Ein spezieller ID-Wert, der Tabs zugewiesen wird, die sich nicht in einer geteilten Ansicht befinden.
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 derzeit aktiven Tabs im angegebenen Fenster kodiert.
tabs.connect()-
Stellt eine Nachrichtenverbindung her zwischen den Hintergrundskripten der Erweiterung (oder anderen privilegierten Skripten, wie zum Beispiel Popup-Skripte oder Optionsseitenskripte) und allen content scripts, die im angegebenen Tab ausgeführt werden.
tabs.create()-
Erstellt einen neuen Tab.
tabs.detectLanguage()-
Erkennt die Primärsprache des Inhalts in einem Tab.
tabs.discard()-
Gibt einen oder mehrere Tabs frei.
tabs.duplicate()-
Dupliziert einen Tab.
tabs.executeScript()(Manifest V2 nur)-
Injiziert JavaScript-Code in eine Seite.
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.TabObjekt. tabs.getSelected()Veraltet-
Ruft den ausgewählten Tab im angegebenen Fenster ab. Veraltet: Verwenden Sie stattdessen
tabs.query({active: true}). tabs.getZoom()-
Ruft den aktuellen Zoom-Faktor 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 verfügbar.
tabs.goBack()-
Geht zur vorherigen Seite zurück, falls verfügbar.
tabs.group()-
Fügt Tabs zu einer Tab-Gruppe hinzu.
tabs.hide()Experimentell-
Verbirgt einen oder mehrere Tabs.
tabs.highlight()-
Hebt einen oder mehrere Tabs hervor.
tabs.insertCSS()(Manifest V2 nur)-
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()-
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()(Manifest V2 nur)-
Entfernt CSS von einer Seite, das zuvor durch
tabs.insertCSS()eingefügt wurde. tabs.saveAsPDF()-
Speichert die aktuelle Seite als PDF.
tabs.sendMessage()-
Sendet eine einzelne Nachricht zu den Content-Scripts im angegebenen Tab.
tabs.sendRequest()Veraltet-
Sendet eine einzelne Anfrage zu den Content-Scripts 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 an, die
verborgenwurden. tabs.toggleReaderMode()-
Wechselt den Lesemodus für den angegebenen Tab.
tabs.ungroup()-
Entfernt Tabs aus Tab-Gruppen.
tabs.update()-
Navigieren Sie den Tab zu einer neuen URL oder ändern Sie 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 zum Zeitpunkt dieses Ereignisses möglicherweise nicht festgelegt ist.
tabs.onActiveChangedVeraltet-
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, beispielsweise weil es zwischen Fenstern verschoben wurde.
tabs.onCreated-
Wird ausgelöst, wenn ein Tab erstellt wird. Beachten Sie, dass die URL des Tabs zum Zeitpunkt dieses Ereignisses möglicherweise nicht festgelegt ist.
tabs.onDetached-
Wird ausgelöst, wenn ein Tab von einem Fenster getrennt wird, beispielsweise weil es zwischen Fenstern verschoben wird.
tabs.onHighlightChangedVeraltet-
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 Vorabrendering durch einen anderen Tab ersetzt wird.
tabs.onSelectionChangedVeraltet-
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.
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
- themed-icons
Browser-Kompatibilität
Hinweis:
Diese API basiert auf der Chromium-API chrome.tabs. Diese Dokumentation basiert auf tabs.json im Chromium-Code.