chrome.tabs

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.

Übersicht

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 Inhaltsscripts eines Tabs kommunizieren.

Berechtigungen

Für die meisten Funktionen sind keine Berechtigungen erforderlich. Beispiele: Erstellen eines neuen Tabs, Neuladen eines Tabs, Wechseln zu einer anderen URL usw.

Bei der Arbeit mit der Tabs API sollten Entwickler drei Berechtigungen beachten.

Die Berechtigung „tabs“
Diese Berechtigung gewährt keinen Zugriff auf den Namespace chrome.tabs. Stattdessen wird einer Erweiterung die Möglichkeit gewährt, tabs.query() für vier sensible Eigenschaften auf tabs.Tab-Instanzen aufzurufen: url, pendingUrl, title und favIconUrl.
Hostberechtigungen
Mit
Hostberechtigungen kann eine Erweiterung die vier vertraulichen tabs.Tab-Properties eines übereinstimmenden Tabs lesen und abfragen. Sie können auch direkt mit den entsprechenden Tabs interagieren, z. B. mit den Methoden tabs.captureVisibleTab(), tabs.executeScript(), tabs.insertCSS() und tabs.removeCSS().
Die Berechtigung „activeTab“
activeTab gewährt einer Erweiterung eine vorübergehende Hostberechtigung für den aktuellen Tab als Reaktion auf eine Nutzeraufforderung. Im Gegensatz zu Hostberechtigungen löst activeTab keine Warnungen aus.

Manifest

Im Folgenden finden Sie Beispiele dafür, wie Sie die einzelnen Berechtigungen im manifest angeben:

  {
    "name": "My extension",
    ...
    "permissions": [
      "tabs"
    ],
    ...
  }

  {
    "name": "My extension",
    ...
    "host_permissions": [
      "http://*/*",
      "https://*/*"
    ],
    ...
  }

  {
    "name": "My extension",
    ...
    "permissions": [
      "activeTab"
    ],
    ...
  }

Anwendungsfälle

In den folgenden Abschnitten werden einige gängige Anwendungsfälle veranschaulicht.

Erweiterungsseite in einem neuen Tab öffnen

Ein gängiges Muster für Erweiterungen besteht darin, dass beim Installieren der Erweiterung eine Onboarding-Seite in einem neuen Tab geöffnet wird. Das folgende Beispiel zeigt, wie das geht.

background.js:

chrome.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    chrome.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 abrufen kann (oder aus dem zuletzt fokussierten Fenster, wenn kein Chrome-Fenster fokussiert ist). Das 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 chrome.tabs.query(queryOptions);
    return tab;
  }

  function getCurrentTab(callback) {
    let queryOptions = { active: true, lastFocusedWindow: true };
    chrome.tabs.query(queryOptions, ([tab]) => {
      if (chrome.runtime.lastError)
      console.error(chrome.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 chrome.tabs.get(tabId);
    const muted = !tab.mutedInfo.muted;
    await chrome.tabs.update(tabId, {muted});
    console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
  }

  function toggleMuteState(tabId) {
    chrome.tabs.get(tabId, async (tab) => {
      let muted = !tab.mutedInfo.muted;
      await chrome.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 Sie einen Tab verschieben, während ein Ziehen möglicherweise noch nicht abgeschlossen ist. In diesem Beispiel wird chrome.tabs.move verwendet, aber Sie können dasselbe Wartemuster auch für andere Aufrufe verwenden, die Tabs ändern, während ein Ziehen ausgeführt wird.

  chrome.tabs.onActivated.addListener(moveToFirstPosition);

  async function moveToFirstPosition(activeInfo) {
    try {
      await chrome.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);
      }
    }
  }

  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);

  function moveToFirstPositionMV2(activeInfo) {
    chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (chrome.runtime.lastError) {
        const error = chrome.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.");
      }
    });
  }

Eine Nachricht an das Inhaltsskript eines ausgewählten Tabs übergeben

In diesem Beispiel wird gezeigt, wie der Service Worker einer Erweiterung mithilfe von tabs.sendMessage() mit Inhaltsscripts in bestimmten Browser-Tabs kommunizieren kann.

function sendMessageToActiveTab(message) {
  const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await chrome.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}

Beispiele für Erweiterungen

Weitere Demos für Tabs API-Erweiterungen:

Typen

MutedInfo

Chrome 46 und höher

Der Stummschaltungsstatus des Tabs und der Grund für die letzte Statusänderung.

Attribute

  • extensionId

    String optional

    Die ID der Erweiterung, durch die der Stummschaltungsstatus geändert wurde. Wird 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 (Ton wird nicht wiedergegeben). Der Tab ist möglicherweise stummgeschaltet, auch wenn noch kein Ton abgespielt wurde oder gerade kein Ton abgespielt wird. Entspricht der Frage, ob die Audioanzeige „Stummgeschaltet“ angezeigt wird.

  • reason

    MutedInfoReason optional

    Der Grund, warum der Tab stummgeschaltet oder die Stummschaltung aufgehoben wurde. Wird nicht festgelegt, wenn der Stummschaltungsstatus des Tabs nie geändert wurde.

MutedInfoReason

Chrome 46 und höher

Ein Ereignis, das eine Änderung des Stummschaltungsstatus verursacht hat.

Enum

„user“
Der Stummschaltungsstatus wurde durch eine Nutzereingabeaktion festgelegt.

„capture“
Die Tab-Aufzeichnung wurde gestartet, was eine Änderung des Stummschaltungsstatus erzwingt.

„extension“
Eine Erweiterung, die durch das Feld „extensionId“ identifiziert wird, hat den Stummschaltungsstatus festgelegt.

Tab

Attribute

  • Aktiv

    boolean

    Gibt an, ob der Tab im Fenster aktiv ist. Das bedeutet nicht unbedingt, dass das Fenster den Fokus hat.

  • audible

    boolescher Wert optional

    Chrome 45 und höher

    Ob auf dem Tab in den letzten Sekunden ein Ton wiedergegeben wurde (er ist aber möglicherweise nicht zu hören, wenn der Tab stummgeschaltet ist). Entspricht der Anzeige der Lautsprecheraudiofunktion.

  • autoDiscardable

    boolean

    Chrome 54 und höher

    Gibt an, ob der Tab vom Browser automatisch geschlossen werden kann, wenn nur noch wenige Ressourcen verfügbar sind.

  • verworfen

    boolean

    Chrome 54 und höher

    Gibt an, ob der Tab verworfen wird. Ein verworfener Tab ist ein Tab, dessen Inhalt aus dem Arbeitsspeicher entladen wurde, aber weiterhin im Tab-Bereich 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 das Manifest der Erweiterung die Berechtigung "tabs" enthält. Es kann auch ein leerer String sein, wenn der Tab gerade geladen wird.

  • eingefroren

    boolean

    Ausstehend

    Ob der Tab eingefroren ist. Auf einem fixierten Tab können keine Aufgaben ausgeführt werden, z. B. Ereignis-Handler oder Timer. Er ist im Tab-Bereich sichtbar und sein Inhalt wird in den Arbeitsspeicher geladen. Nach der Aktivierung wird die Sperre aufgehoben.

  • groupId

    Zahl

    Chrome 88 und höher

    Die ID der Gruppe, zu der der Tab gehört.

  • Höhe

    number optional

    Die Höhe des Tabs in Pixeln.

  • hervorgehoben

    boolean

    Ob der Tab markiert ist.

  • id

    number optional

    Die ID des Tabs. Tab-IDs sind innerhalb einer Browser-Sitzung eindeutig. Unter bestimmten Umständen wird einem Tab möglicherweise keine ID zugewiesen. Das ist beispielsweise der Fall, wenn externe Tabs mit der sessions API abgefragt werden. In diesem Fall ist möglicherweise eine Sitzungs-ID vorhanden. Die Tab-ID kann auch für Apps und devtools-Fenster auf chrome.tabs.TAB_ID_NONE festgelegt werden.

  • Inkognito

    boolean

    Ob sich der Tab in einem Inkognitofenster befindet.

  • Index

    Zahl

    Der nullbasierte Index des Tabs im Fenster.

  • lastAccessed

    Zahl

    Chrome 121 und höher

    Der Zeitpunkt des letzten Zugriffs auf den Tab als Anzahl der Millisekunden seit der Epoche.

  • mutedInfo

    MutedInfo optional

    Chrome 46 und höher

    Der 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). Dieses Attribut ist nur vorhanden, wenn der Tab des Öffners noch vorhanden ist.

  • pendingUrl

    String optional

    Chrome 79 und höher

    Die URL, zu der der Tab weitergeleitet wird, bevor die Aktion bestätigt wurde. Diese Property ist nur vorhanden, wenn das Manifest der Erweiterung die Berechtigung "tabs" enthält und eine Navigation ausstehend ist.

  • Angepinnt

    boolean

    Gibt an, ob der Tab angepinnt ist.

  • ausgewählt

    boolean

    Eingestellt

    Verwenden Sie tabs.Tab.highlighted.

    Ob der Tab ausgewählt ist.

  • sessionId

    String optional

    Die Sitzungs-ID, mit der ein Tab eindeutig identifiziert wird, der über die sessions API abgerufen wurde.

  • Status

    TabStatus optional

    Der Ladevorgang des Tabs.

  • Titel

    String optional

    Der Titel des Tabs. Diese Property ist nur vorhanden, wenn das Manifest der Erweiterung die Berechtigung "tabs" enthält.

  • URL

    String optional

    Die letzte Commit-URL des Hauptframes des Tabs. Diese Property ist nur vorhanden, wenn das Manifest der Erweiterung die Berechtigung "tabs" enthält. Sie kann ein leerer String sein, wenn der Tab noch nicht bestätigt wurde. Weitere Informationen finden Sie unter Tab.pendingUrl.

  • Breite

    number optional

    Die Breite des Tabs in Pixeln.

  • windowId

    Zahl

    Die ID des Fensters, das den Tab enthält.

TabStatus

Chrome 44 und höher

Der Ladevorgang des Tabs.

Enum

„unloaded“

„Laden“

„complete“

WindowType

Chrome 44 und höher

Der Fenstertyp.

Enum

„normal“

"popup"

„panel“

„app“

"devtools"

ZoomSettings

Hier wird festgelegt, wie Zoomänderungen auf einem Tab verarbeitet werden und in welchem Umfang.

Attribute

  • defaultZoomFactor

    number optional

    Chrome 43 und höher

    Wird verwendet, um die Standardzoomstufe für den aktuellen Tab bei Aufrufen von „tabs.getZoomSettings“ zurückzugeben.

  • Modus

    Hiermit wird festgelegt, wie Zoomänderungen verarbeitet werden, d. h., welche Entität für die tatsächliche Skalierung der Seite verantwortlich ist. Standardmäßig ist automatic festgelegt.

  • Bereich

    Hiermit wird festgelegt, ob sich Zoomänderungen auf die Quelle der Seite auswirken oder nur auf diesen Tab. Der Standardwert ist per-origin, wenn sich der Browser im Modus automatic befindet, andernfalls per-tab.

ZoomSettingsMode

Chrome 44 und höher

Hiermit wird festgelegt, wie Zoomänderungen verarbeitet werden, d. h., welche Entität für die tatsächliche Skalierung der Seite verantwortlich ist. Standardmäßig ist automatic festgelegt.

Enum

„automatisch“
Zoomänderungen werden automatisch vom Browser verarbeitet.

„manual“
Überschreibt die automatische Verarbeitung von Zoomänderungen. Das Ereignis onZoomChange wird weiterhin gesendet. Es liegt in der Verantwortung der Erweiterung, auf dieses Ereignis zu warten und die Seite manuell zu skalieren. In diesem Modus wird kein per-origin-Zoom 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

Chrome 44 und höher

Hiermit wird festgelegt, ob sich Zoomänderungen auf die Quelle der Seite auswirken oder nur auf diesen Tab. Der Standardwert ist per-origin, wenn sich der Browser im Modus automatic befindet, andernfalls per-tab.

Enum

„per-origin“
Zoomänderungen bleiben am Ursprung der gezoomten Seite erhalten. Das bedeutet, dass alle anderen Tabs, die zu diesem Ursprung weitergeleitet werden, ebenfalls gezoomt werden. Außerdem werden per-origin-Zoomänderungen mit dem Ursprung gespeichert. Wenn Sie also andere Seiten im selben Ursprung aufrufen, werden sie alle mit demselben Zoomfaktor angezeigt. Der per-origin-Umfang ist nur im automatic-Modus verfügbar.

„pro Tab“
Zoomänderungen werden nur auf diesem Tab wirksam. Zoomänderungen auf anderen Tabs wirken sich nicht auf den Zoom dieses Tabs aus. Außerdem werden per-tab-Zoomänderungen bei der Navigation zurückgesetzt. Wenn Sie einen Tab wechseln, werden Seiten immer mit ihren per-origin-Zoomfaktoren geladen.

Attribute

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92 und höher

Die maximale Anzahl von Aufrufen von captureVisibleTab pro Sekunde. captureVisibleTab ist teuer und sollte nicht zu oft aufgerufen werden.

Wert

2

TAB_ID_NONE

Chrome 46 und höher

Eine ID, die das Fehlen eines Browsertabs darstellt.

Wert

−1

TAB_INDEX_NONE

Chrome 123 und höher

Ein Index, der das Fehlen eines Tab-Indexes in einem Tab-Steuerfeld darstellt.

Wert

−1

Methoden

captureVisibleTab()

Promise
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)

Der sichtbare Bereich des aktuell aktiven Tabs im angegebenen Fenster wird erfasst. Damit diese Methode aufgerufen werden kann, muss die Erweiterung entweder die Berechtigung <all_urls> oder die Berechtigung activeTab haben. Mit dieser Methode können Erweiterungen nicht nur auf Websites zugreifen, auf die sie normalerweise zugreifen können, sondern auch auf vertrauliche Websites, die andernfalls eingeschränkt sind, einschließlich chrome:-Schema-Seiten, Seiten anderer Erweiterungen und data:-URLs. Diese vertraulichen Websites können nur mit der Berechtigung „activeTab“ erfasst werden. Datei-URLs können nur erfasst werden, wenn der Erweiterung der Dateizugriff gewährt wurde.

Parameter

  • windowId

    number optional

    Das Zielfenster. Standardmäßig ist der aktuelle Conversion-Tracking-Zeitraum festgelegt.

  • Optionen

    ImageDetails optional

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (dataUrl: string) => void

    • dataUrl

      String

      Eine Daten-URL, die ein Bild des sichtbaren Bereichs des erfassten Tabs codiert. Kann der „src“-Eigenschaft eines HTML-img-Elements zugewiesen werden.

Gibt Folgendes zurück:

  • Promise<string>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

connect()

chrome.tabs.connect(
  tabId: number,
  connectInfo?: object,
)

Stellt eine Verbindung zu den Inhaltsscripts 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

    object optional

    • documentId

      String optional

      Chrome 106 und höher

      Öffnen Sie einen Port zu einem bestimmten Dokument, das durch documentId gekennzeichnet ist, anstatt zu allen Frames auf dem Tab.

    • frameId

      number optional

      Öffnet einen Port zu einem bestimmten Frame, der durch frameId gekennzeichnet ist, anstatt zu allen Frames auf dem Tab.

    • name

      String optional

      Wird für Inhaltsscripts, die auf das Verbindungsereignis warten, an „onConnect“ übergeben.

Gibt Folgendes zurück:

  • Ein Port, der für die Kommunikation mit den Inhaltsscripts verwendet werden kann, die auf dem angegebenen Tab ausgeführt werden. Das Ereignis runtime.Port des Anschlusses wird ausgelöst, wenn der Tab geschlossen wird oder nicht vorhanden ist.

create()

Promise
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)

Erstellt einen neuen Tab.

Parameter

  • createProperties

    Objekt

    • Aktiv

      boolescher Wert optional

      Ob der Tab zum aktiven Tab im Fenster werden soll. Hat keinen Einfluss darauf, ob das Fenster den Fokus hat (siehe windows.update). Standardmäßig ist true festgelegt.

    • 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 begrenzt.

    • openerTabId

      number optional

      Die ID des Tabs, über den dieser Tab geöffnet wurde. Falls angegeben, muss sich der Tab, über den der neue Tab geöffnet wurde, im selben Fenster befinden.

    • Angepinnt

      boolescher Wert optional

      Gibt an, ob der Tab angepinnt werden soll. Standardeinstellung: false

    • ausgewählt

      boolescher Wert optional

      Eingestellt

      Verwenden Sie stattdessen aktiv.

      Gibt an, ob der Tab im Fenster ausgewählt werden soll. Standardeinstellung: true

    • URL

      String optional

      Die URL, zu der der Tab zuerst weitergeleitet werden 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 ist die Seite „Neuer Tab“ festgelegt.

    • windowId

      number optional

      Das Fenster, in dem der neue Tab erstellt werden soll. Standardmäßig ist der aktuelle Conversion-Tracking-Zeitraum festgelegt.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (tab: Tab) => void

    • Tabulatortaste

      Der erstellte Tab.

Gibt Folgendes zurück:

  • Promise<Tab>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

detectLanguage()

Promise
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)

Erkennt die Hauptsprache des Inhalts auf einem Tab.

Parameter

  • tabId

    number optional

    Standardmäßig ist der aktive Tab des aktuellen Fensters ausgewählt.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (language: string) => void

    • Sprache

      String

      Ein ISO-Sprachcode wie en oder fr. Eine vollständige Liste der von dieser Methode unterstützten Sprachen finden Sie unter kLanguageInfoTable. Die zweite bis vierte Spalte wird geprüft und der erste nicht NULL-Wert wird zurückgegeben, mit Ausnahme von vereinfachtem Chinesisch, für das zh-CN zurückgegeben wird. Für eine unbekannte/nicht definierte Sprache wird und zurückgegeben.

Gibt Folgendes zurück:

  • Promise<string>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

discard()

Promise Chrome 54 und höher
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)

Löscht einen Tab aus dem Arbeitsspeicher. Verworfene Tabs sind weiterhin in der Tableiste sichtbar und werden bei der Aktivierung neu geladen.

Parameter

  • tabId

    number optional

    Die ID des zu verwerfenden Tabs. Wenn angegeben, wird der Tab verworfen, es sei denn, er ist aktiv oder bereits verworfen. Wenn Sie diesen Parameter weglassen, wird der Tab mit dem geringsten Wert vom Browser verworfen. Dies kann fehlschlagen, wenn keine zu schließenden Tabs vorhanden sind.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (tab?: Tab) => void

    • Tabulatortaste

      Tab optional

      Der Tab „Verworfen“, wenn die Datei erfolgreich verworfen wurde, andernfalls undefiniert.

Gibt Folgendes zurück:

  • Promise<Tab | undefined>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

duplicate()

Promise
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)

Hiermit können Sie einen Tab duplizieren.

Parameter

  • tabId

    Zahl

    Die ID des Tabs, der dupliziert werden soll.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (tab?: Tab) => void

    • Tabulatortaste

      Tab optional

      Details zum duplizierten Tab. Das Objekt tabs.Tab enthält keine url, pendingUrl, title und favIconUrl, wenn die Berechtigung "tabs" nicht angefordert wurde.

Gibt Folgendes zurück:

  • Promise<Tab | undefined>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

executeScript()

Promise &leq; MV2 Seit Chrome 91 eingestellt
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

In Manifest V3 durch scripting.executeScript ersetzt.

Fügt JavaScript-Code in eine Seite ein. Weitere Informationen finden Sie im Abschnitt Programmatische Einfügung des Dokuments zu Inhaltsscripts.

Parameter

  • tabId

    number optional

    Die ID des Tabs, auf dem das Script ausgeführt werden soll. Standardmäßig ist dies der aktive Tab des aktuellen Fensters.

  • Details

    Details zum auszuführenden Script. Es muss entweder die Code- oder die Dateieigenschaft festgelegt werden, aber nicht beide gleichzeitig.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (result?: any[]) => void

    • Ergebnis

      any[] optional

      Das Ergebnis des Scripts in jedem eingeschleusten Frame.

Gibt Folgendes zurück:

  • Promise<any[] | undefined>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

get()

Promise
chrome.tabs.get(
  tabId: number,
  callback?: function,
)

Ruft Details zum angegebenen Tab ab.

Parameter

  • tabId

    Zahl

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (tab: Tab) => void

    • Tabulatortaste

Gibt Folgendes zurück:

  • Promise<Tab>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getAllInWindow()

Promise &leq; MV2 Veraltet
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)

Bitte verwenden Sie tabs.query {windowId: windowId}.

Ruft Details zu allen Tabs im angegebenen Fenster ab.

Parameter

Gibt Folgendes zurück:

  • Promise<Tab[]>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getCurrent()

Promise
chrome.tabs.getCurrent(
  callback?: function,
)

Der Tab, von dem aus dieser Scriptaufruf erfolgt. Gibt undefined zurück, wenn die Funktion nicht über einen Tab aufgerufen wird (z. B. über eine Hintergrundseite oder Pop-up-Ansicht).

Parameter

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (tab?: Tab) => void

    • Tabulatortaste

      Tab optional

Gibt Folgendes zurück:

  • Promise<Tab | undefined>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getSelected()

Promise &leq; MV2 Veraltet
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)

Bitte verwenden Sie tabs.query {active: true}.

Ruft den Tab ab, der im angegebenen Fenster ausgewählt ist.

Parameter

Gibt Folgendes zurück:

  • Promise<Tab>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getZoom()

Promise
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)

Ruft den aktuellen Zoomfaktor eines bestimmten Tabs ab.

Parameter

  • tabId

    number optional

    Die ID des Tabs, von dem der aktuelle Zoomfaktor abgerufen werden soll. Standardmäßig ist dies der aktive Tab des aktuellen Fensters.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (zoomFactor: number) => void

    • zoomFactor

      Zahl

      Der aktuelle Zoomfaktor des Tabs.

Gibt Folgendes zurück:

  • Promise<number>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getZoomSettings()

Promise
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)

Ruft die aktuellen Zoomeinstellungen eines bestimmten Tabs ab.

Parameter

  • tabId

    number optional

    Die ID des Tabs, von dem die aktuellen Zoomeinstellungen abgerufen werden sollen. Standardmäßig ist dies der aktive Tab des aktuellen Fensters.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

      Die aktuellen Zoomeinstellungen des Tabs.

Gibt Folgendes zurück:

  • Promise<ZoomSettings>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

goBack()

Versprechen Chrome 72 und höher
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)

Kehren Sie zur vorherigen Seite zurück, falls eine verfügbar ist.

Parameter

  • tabId

    number optional

    Die ID des Tabs, zu dem zurückgekehrt werden soll. Standardmäßig ist dies der ausgewählte Tab des aktuellen Fensters.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

goForward()

Versprechen Chrome 72 und höher
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)

Rufen Sie die nächste Seite auf, falls verfügbar.

Parameter

  • tabId

    number optional

    Die ID des Tabs, zu dem Sie vorwärts springen möchten. Standardmäßig ist dies der ausgewählte Tab des aktuellen Fensters.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

group()

Promise Chrome 88 und höher
chrome.tabs.group(
  options: object,
  callback?: function,
)

Fügen Sie einer bestimmten Gruppe einen oder mehrere Tabs hinzu. Wenn keine Gruppe angegeben ist, werden die Tabs einer neu erstellten Gruppe hinzugefügt.

Parameter

  • Optionen

    Objekt

    • createProperties

      object optional

      Konfigurationen zum Erstellen einer Gruppe. Kann nicht verwendet werden, wenn „groupId“ bereits angegeben ist.

      • windowId

        number optional

        Das Fenster der neuen Gruppe. Standardmäßig ist das aktuelle Fenster ausgewählt.

    • groupId

      number optional

      Die ID der Gruppe, der die Tabs hinzugefügt werden sollen. Wenn Sie keine Gruppe angeben, wird eine neue erstellt.

    • tabIds

      Zahl | [Zahl, ...Zahl[]]

      Die Tab-ID oder Liste der Tab-IDs, die der angegebenen Gruppe hinzugefügt werden sollen.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (groupId: number) => void

    • groupId

      Zahl

      Die ID der Gruppe, der die Tabs hinzugefügt wurden.

Gibt Folgendes zurück:

  • Promise<number>

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

highlight()

Promise
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)

Die angegebenen Tabs werden hervorgehoben und der Fokus liegt auf dem ersten Tab der Gruppe. Es passiert nichts, wenn der angegebene Tab gerade aktiv ist.

Parameter

  • highlightInfo

    Objekt

    • Tabs

      Zahl | Zahl[]

      Ein oder mehrere Tabindexe, die hervorgehoben werden sollen.

    • windowId

      number optional

      Das Fenster mit den Tabs.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (window: Window) => void

    • Fenster

      Enthält Details zum Fenster, dessen Tabs hervorgehoben wurden.

Gibt Folgendes zurück:

  • Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

insertCSS()

Promise &leq; MV2 Seit Chrome 91 eingestellt
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

In Manifest V3 durch scripting.insertCSS ersetzt.

CSS-Code in eine Seite einfügen Mit dieser Methode eingefügte Stile können mit scripting.removeCSS entfernt werden. Weitere Informationen finden Sie im Abschnitt Programmatische Einfügung des Dokuments zu Inhaltsscripts.

Parameter

  • tabId

    number optional

    Die ID des Tabs, in den das CSS eingefügt werden soll. Standardmäßig ist dies der aktive Tab des aktuellen Fensters.

  • Details

    Details zum einzufügenden CSS-Text. Es muss entweder die Code- oder die Dateieigenschaft festgelegt werden, aber nicht beide gleichzeitig.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

move()

Promise
chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)

Verschiebt einen oder mehrere Tabs an eine neue Position im Fenster oder in ein neues Fenster. Tabs können nur zwischen normalen Fenstern (window.type === "normal") verschoben werden.

Parameter

  • tabIds

    Zahl | Zahl[]

    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. Mit -1 können Sie den Tab am Ende des Fensters platzieren.

    • windowId

      number optional

      Standardmäßig ist das Fenster ausgewählt, in dem sich der Tab gerade befindet.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (tabs: Tab | Tab[]) => void

    • Tabs

      Tab | Tab[]

      Details zu den verschobenen Tabs.

Gibt Folgendes zurück:

  • Promise<Tab | Tab[]>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

query()

Promise
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)

Alle Tabs mit den angegebenen Eigenschaften oder alle Tabs, wenn keine Eigenschaften angegeben sind.

Parameter

  • queryInfo

    Objekt

    • Aktiv

      boolescher Wert optional

      Ob die Tabs in ihren Fenstern aktiv sind.

    • audible

      boolescher Wert optional

      Chrome 45 und höher

      Gibt an, ob die Tabs hörbar sind.

    • autoDiscardable

      boolescher Wert optional

      Chrome 54 und höher

      Gibt an, ob die Tabs vom Browser automatisch geschlossen werden können, wenn nur noch wenige Ressourcen verfügbar sind.

    • currentWindow

      boolescher Wert optional

      Ob sich die Tabs im aktuellen Fenster befinden.

    • verworfen

      boolescher Wert optional

      Chrome 54 und höher

      Ob die Tabs verworfen werden. Ein verworfener Tab ist ein Tab, dessen Inhalt aus dem Arbeitsspeicher entladen wurde, aber weiterhin im Tab-Bereich sichtbar ist. Der Inhalt wird beim nächsten Aktivieren neu geladen.

    • eingefroren

      boolescher Wert optional

      Ausstehend

      Ob die Tabs eingefroren sind. Auf einem fixierten Tab können keine Aufgaben ausgeführt werden, z. B. Ereignis-Handler oder Timer. Er ist im Tab-Bereich sichtbar und sein Inhalt wird in den Arbeitsspeicher geladen. Nach der Aktivierung wird die Sperre aufgehoben.

    • groupId

      number optional

      Chrome 88 und höher

      Die ID der Gruppe, zu der die Tabs gehören, oder tabGroups.TAB_GROUP_ID_NONE für nicht gruppierte Tabs.

    • hervorgehoben

      boolescher Wert optional

      Ob die Tabs hervorgehoben sind.

    • Index

      number optional

      Die Position der Tabs in den Fenstern.

    • lastFocusedWindow

      boolescher Wert optional

      Ob sich die Tabs im letzten fokussierten Fenster befinden.

    • stummgeschaltet

      boolescher Wert optional

      Chrome 45 und höher

      Ob die Tabs stummgeschaltet sind.

    • Angepinnt

      boolescher Wert optional

      Ob die Tabs angepinnt sind.

    • Status

      TabStatus optional

      Der Ladevorgang des Tabs.

    • Titel

      String optional

      Seitentitel mit einem Muster abgleichen Diese Property wird ignoriert, wenn die Erweiterung nicht die Berechtigung "tabs" hat.

    • URL

      String | String[] optional

      Tabs mit einem oder mehreren URL-Mustern abgleichen Die Fragmentbezeichner stimmen nicht überein. Diese Property wird ignoriert, wenn die Erweiterung nicht die Berechtigung "tabs" hat.

    • windowId

      number optional

      Die ID des übergeordneten Fensters oder windows.WINDOW_ID_CURRENT für das aktuelle Fenster.

    • windowType

      WindowType optional

      Die Art des Fensters, in dem sich die Tabs befinden.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (result: Tab[]) => void

    • Ergebnis

      Tab[]

Gibt Folgendes zurück:

  • Promise<Tab[]>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

reload()

Promise
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)

Laden Sie einen Tab neu.

Parameter

  • tabId

    number optional

    Die ID des Tabs, der neu geladen werden soll. Standardmäßig ist dies der ausgewählte Tab des aktuellen Fensters.

  • reloadProperties

    object optional

    • bypassCache

      boolescher Wert optional

      Gibt an, ob das lokale Caching umgangen werden soll. Die Standardeinstellung ist false.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

remove()

Promise
chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)

Schließt einen oder mehrere Tabs.

Parameter

  • tabIds

    Zahl | Zahl[]

    Die Tab-ID oder Liste der Tab-IDs, die geschlossen werden sollen.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

removeCSS()

Promise Chrome 87 und höher &leq; MV2 Seit Chrome 91 eingestellt
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)

In Manifest V3 durch scripting.removeCSS ersetzt.

Entfernt CSS von einer Seite, das zuvor durch einen Aufruf von scripting.insertCSS eingefügt wurde.

Parameter

  • tabId

    number optional

    Die ID des Tabs, von dem das Preisvergleichsportal entfernt werden soll. Standardmäßig ist dies der aktive Tab des aktuellen Fensters.

  • Details zum zu entfernenden CSS-Text. Es muss entweder die Code- oder die Dateieigenschaft festgelegt werden, aber nicht beide gleichzeitig.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

sendMessage()

Promise
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)

Es wird eine einzelne Nachricht an die Inhaltsscripts auf dem angegebenen Tab gesendet. Optional kann ein Rückruf angegeben werden, der ausgeführt wird, wenn eine Antwort zurückgesendet wird. 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 Nachricht, die gesendet werden soll. Diese Nachricht sollte ein JSON-Objekt sein.

  • Optionen

    object optional

    • documentId

      String optional

      Chrome 106 und höher

      Sie können eine Nachricht an ein bestimmtes Dokument senden, das durch documentId gekennzeichnet ist, anstatt an alle Frames auf dem Tab.

    • frameId

      number optional

      Sie können eine Nachricht an einen bestimmten Frame senden, der durch frameId gekennzeichnet ist, anstatt an alle Frames auf dem Tab.

  • callback

    function optional

    Chrome 99 und höher

    Der Parameter callback sieht so aus:

    (response: any) => void

    • Antwort

      beliebig

      Das JSON-Antwortobjekt, das vom Handler der Nachricht gesendet wird. Wenn beim Herstellen einer Verbindung zum angegebenen Tab ein Fehler auftritt, wird der Rückruf ohne Argumente aufgerufen und runtime.lastError wird auf die Fehlermeldung gesetzt.

Gibt Folgendes zurück:

  • Promise<any>

    Chrome 99 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

sendRequest()

Promise &leq; MV2 Veraltet
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)

Verwenden Sie runtime.sendMessage.

Sendet eine einzelne Anfrage an die Inhaltsscripts auf dem angegebenen Tab mit einem optionalen Rückruf, der ausgeführt wird, wenn eine Antwort zurückgesendet wird. Das Ereignis extension.onRequest wird in jedem Inhaltsskript ausgelöst, das auf dem angegebenen Tab für die aktuelle Erweiterung ausgeführt wird.

Parameter

  • tabId

    Zahl

  • Anfrage

    beliebig

  • callback

    function optional

    Chrome 99 und höher

    Der Parameter callback sieht so aus:

    (response: any) => void

    • Antwort

      beliebig

      Das JSON-Antwortobjekt, das vom Handler der Anfrage gesendet wird. Wenn beim Herstellen einer Verbindung zum angegebenen Tab ein Fehler auftritt, wird der Rückruf ohne Argumente aufgerufen und runtime.lastError wird auf die Fehlermeldung gesetzt.

Gibt Folgendes zurück:

  • Promise<any>

    Chrome 99 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

setZoom()

Promise
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)

Zoomt auf einen bestimmten Tab.

Parameter

  • tabId

    number optional

    Die ID des Tabs, der gezoomt werden soll. Standardmäßig ist dies der aktive Tab des aktuellen Fensters.

  • zoomFactor

    Zahl

    Der neue Zoomfaktor. Bei einem Wert von 0 wird der Tab auf den aktuellen Standardzoomfaktor gesetzt. Werte über 0 geben einen (möglicherweise nicht standardmäßigen) Zoomfaktor für den Tab an.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

setZoomSettings()

Promise
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)

Hier legen Sie die Zoomeinstellungen für einen bestimmten Tab fest, die festlegen, wie Zoomänderungen verarbeitet werden. Diese Einstellungen werden auf die Standardeinstellungen zurückgesetzt, wenn Sie den Tab wechseln.

Parameter

  • tabId

    number optional

    Die ID des Tabs, für den die Zoomeinstellungen geändert werden sollen. Standardmäßig ist dies der aktive Tab des aktuellen Fensters.

  • zoomSettings

    Hier wird festgelegt, wie und in welchem Umfang Zoomänderungen verarbeitet werden.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

ungroup()

Promise Chrome 88 und höher
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
  callback?: function,
)

Entfernt einen oder mehrere Tabs aus den jeweiligen Gruppen. Wenn Gruppen leer werden, werden sie gelöscht.

Parameter

  • tabIds

    Zahl | [Zahl, ...Zahl[]]

    Die Tab-ID oder Liste der Tab-IDs, die aus den jeweiligen Gruppen entfernt werden sollen.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

update()

Promise
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)

Ändert die Eigenschaften eines Tabs. Attribute, die nicht in updateProperties angegeben sind, werden nicht geändert.

Parameter

  • tabId

    number optional

    Standardmäßig ist der ausgewählte Tab des aktuellen Fensters festgelegt.

  • updateProperties

    Objekt

    • Aktiv

      boolescher Wert optional

      Ob der Tab aktiv sein soll. Hat keinen Einfluss darauf, ob das Fenster den Fokus hat (siehe windows.update).

    • autoDiscardable

      boolescher Wert optional

      Chrome 54 und höher

      Gibt an, ob der Tab vom Browser automatisch geschlossen werden soll, wenn die Ressourcen knapp sind.

    • hervorgehoben

      boolescher Wert optional

      Der Tab wird der aktuellen Auswahl hinzugefügt oder daraus entfernt.

    • stummgeschaltet

      boolescher Wert optional

      Chrome 45 und höher

      Gibt an, ob der Tab stummgeschaltet werden soll.

    • openerTabId

      number optional

      Die ID des Tabs, über den dieser Tab geöffnet wurde. Wenn angegeben, muss sich der Tab, über den die Seite geöffnet wurde, im selben Fenster wie dieser Tab befinden.

    • Angepinnt

      boolescher Wert optional

      Gibt an, ob der Tab angepinnt werden soll.

    • ausgewählt

      boolescher Wert optional

      Eingestellt

      Verwenden Sie Hervorgehoben.

      Ob der Tab ausgewählt sein soll.

    • URL

      String optional

      Eine URL, zu der der Tab weitergeleitet werden soll. JavaScript-URLs werden nicht unterstützt. Verwenden Sie stattdessen scripting.executeScript.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (tab?: Tab) => void

    • Tabulatortaste

      Tab optional

      Details zum aktualisierten Tab. Das Objekt tabs.Tab enthält keine url, pendingUrl, title und favIconUrl, wenn die Berechtigung "tabs" nicht angefordert wurde.

Gibt Folgendes zurück:

  • Promise<Tab | undefined>

    Chrome 88 und höher

    Versprechen werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

Ereignisse

onActivated

chrome.tabs.onActivated.addListener(
  callback: function,
)

Wird ausgelöst, wenn sich der aktive Tab in einem Fenster ändert. Die URL des Tabs ist möglicherweise nicht festgelegt, wenn dieses Ereignis ausgelöst wird. Sie können jedoch auf „onUpdated“-Ereignisse lauschen, um benachrichtigt zu werden, wenn eine URL festgelegt wird.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht 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.

onActiveChanged

&leq; MV2 Verworfen
chrome.tabs.onActiveChanged.addListener(
  callback: function,
)

Verwenden Sie tabs.onActivated.

Wird ausgelöst, wenn sich der ausgewählte Tab in einem Fenster ändert. Die URL des Tabs ist möglicherweise nicht festgelegt, wenn dieses Ereignis ausgelöst wird. Sie können jedoch tabs.onUpdated-Ereignisse überwachen, um benachrichtigt zu werden, wenn eine URL festgelegt wird.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (tabId: number, selectInfo: object) => void

    • tabId

      Zahl

    • selectInfo

      Objekt

      • windowId

        Zahl

        Die ID des Fensters, in dem sich der ausgewählte Tab geändert hat.

onAttached

chrome.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 callback sieht so aus:

    (tabId: number, attachInfo: object) => void

    • tabId

      Zahl

    • attachInfo

      Objekt

      • newPosition

        Zahl

      • newWindowId

        Zahl

onCreated

chrome.tabs.onCreated.addListener(
  callback: function,
)

Wird ausgelöst, wenn ein Tab erstellt wird. Die URL des Tabs und die Tabgruppenmitgliedschaft sind möglicherweise nicht festgelegt, wenn dieses Ereignis ausgelöst wird. Sie können jedoch auf „onUpdated“-Ereignisse lauschen, um benachrichtigt zu werden, wenn eine URL festgelegt oder der Tab einer Tabgruppe hinzugefügt wird.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (tab: Tab) => void

    • Tabulatortaste

onDetached

chrome.tabs.onDetached.addListener(
  callback: function,
)

Wird ausgelöst, wenn ein Tab von einem Fenster getrennt wird, z. B. weil er zwischen Fenstern verschoben wurde.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (tabId: number, detachInfo: object) => void

    • tabId

      Zahl

    • detachInfo

      Objekt

      • oldPosition

        Zahl

      • oldWindowId

        Zahl

onHighlightChanged

&leq; MV2 Verworfen
chrome.tabs.onHighlightChanged.addListener(
  callback: function,
)

Verwenden Sie tabs.onHighlighted.

Wird ausgelöst, wenn sich die hervorgehobenen oder ausgewählten Tabs in einem Fenster ändern.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (selectInfo: object) => void

    • selectInfo

      Objekt

      • tabIds

        number[]

        Alle markierten Tabs im Fenster.

      • windowId

        Zahl

        Das Fenster, dessen Tabs sich geändert haben.

onHighlighted

chrome.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 callback sieht so aus:

    (highlightInfo: object) => void

    • highlightInfo

      Objekt

      • tabIds

        number[]

        Alle markierten Tabs im Fenster.

      • windowId

        Zahl

        Das Fenster, dessen Tabs sich geändert haben.

onMoved

chrome.tabs.onMoved.addListener(
  callback: function,
)

Wird ausgelöst, wenn ein Tab innerhalb eines Fensters verschoben wird. Es wird nur ein einziges Ereignis vom Typ „Wechseln“ 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 verschieben 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 callback sieht so aus:

    (tabId: number, moveInfo: object) => void

    • tabId

      Zahl

    • moveInfo

      Objekt

      • fromIndex

        Zahl

      • toIndex

        Zahl

      • windowId

        Zahl

onRemoved

chrome.tabs.onRemoved.addListener(
  callback: function,
)

Wird ausgelöst, wenn ein Tab geschlossen wird.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (tabId: number, removeInfo: object) => void

    • tabId

      Zahl

    • removeInfo

      Objekt

      • isWindowClosing

        boolean

        „Wahr“, wenn der Tab geschlossen wurde, weil das übergeordnete Fenster geschlossen wurde.

      • windowId

        Zahl

        Das Fenster, dessen Tab geschlossen ist.

onReplaced

chrome.tabs.onReplaced.addListener(
  callback: function,
)

Wird ausgelöst, wenn ein Tab aufgrund von Prerendering oder Instant-Seiten durch einen anderen Tab ersetzt wird.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (addedTabId: number, removedTabId: number) => void

    • addedTabId

      Zahl

    • removedTabId

      Zahl

onSelectionChanged

&leq; MV2 Verworfen
chrome.tabs.onSelectionChanged.addListener(
  callback: function,
)

Verwenden Sie tabs.onActivated.

Wird ausgelöst, wenn sich der ausgewählte Tab in einem Fenster ändert.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (tabId: number, selectInfo: object) => void

    • tabId

      Zahl

    • selectInfo

      Objekt

      • windowId

        Zahl

        Die ID des Fensters, in dem sich der ausgewählte Tab geändert hat.

onUpdated

chrome.tabs.onUpdated.addListener(
  callback: function,
)

Wird ausgelöst, wenn ein Tab aktualisiert wird.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      Zahl

    • changeInfo

      Objekt

      • audible

        boolescher Wert optional

        Chrome 45 und höher

        Der neue hörbare Status des Tabs.

      • autoDiscardable

        boolescher Wert optional

        Chrome 54 und höher

        Der neue Status des Tabs, der automatisch verworfen werden kann.

      • verworfen

        boolescher Wert optional

        Chrome 54 und höher

        Der neue Status „Verworfen“ des Tabs.

      • favIconUrl

        String optional

        Die neue Favicon-URL des Tabs.

      • eingefroren

        boolescher Wert optional

        Ausstehend

        Der neue eingefrorene Status des Tabs.

      • groupId

        number optional

        Chrome 88 und höher

        Die neue Gruppe des Tabs.

      • mutedInfo

        MutedInfo optional

        Chrome 46 und höher

        Der neue Stummschaltungsstatus des Tabs und der Grund für die Änderung.

      • Angepinnt

        boolescher Wert optional

        Der neue angepinnte Status des Tabs.

      • Status

        TabStatus optional

        Der Ladevorgang des Tabs.

      • Titel

        String optional

        Chrome 48 und höher

        Der neue Titel des Tabs.

      • URL

        String optional

        Die URL des Tabs, falls sie sich geändert hat.

    • Tabulatortaste

onZoomChange

chrome.tabs.onZoomChange.addListener(
  callback: function,
)

Wird ausgelöst, wenn ein Tab herangezoomt wird.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      Objekt

      • newZoomFactor

        Zahl

      • oldZoomFactor

        Zahl

      • tabId

        Zahl

      • zoomSettings