tabs.update()

Rufen Sie einen neuen URL auf oder ändern Sie andere Eigenschaften des Tabs.

Um diese Funktion zu verwenden, übergeben Sie die ID des zu aktualisierenden Tabs und ein updateProperties-Objekt, das die zu ändernden Eigenschaften enthält. Eigenschaften, die im updateProperties-Objekt nicht angegeben sind, werden nicht geändert.

Dies ist eine asynchrone Funktion, die ein Promise zurückgibt.

Syntax

js
let updating = browser.tabs.update(
  tabId,              // optional integer
  updateProperties    // object
)

Parameter

tabId Optional

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

updateProperties

object. Die Menge von Eigenschaften, die in diesem Tab aktualisiert werden sollen. Weitere Informationen zu diesen Eigenschaften finden Sie in der tabs.Tab-Dokumentation.

active Optional

boolean. Ob der Tab aktiv werden soll. Hat keinen Einfluss darauf, ob das Fenster fokussiert wird (siehe windows.update). Wenn true, werden nicht-aktive hervorgehobene Tabs nicht mehr hervorgehoben. Wenn false, passiert nichts.

autoDiscardable Optional

boolean. Ob der Tab durch den Browser verworfen werden kann. Der Standardwert ist true. Wenn false gesetzt ist, kann der Tab nicht automatisch verworfen werden. Der Tab kann jedoch durch tabs.discard verworfen werden.

highlighted Optional

boolean. Fügt den Tab zur aktuellen Auswahl hinzu oder entfernt ihn daraus. Wenn true und der Tab nicht hervorgehoben ist, wird er standardmäßig aktiv.

Wenn Sie den Tab nur hervorheben möchten, ohne ihn zu aktivieren, akzeptiert Firefox das Setzen von highlighted auf true und active auf false. Andere Browser könnten den Tab auch in diesem Fall aktivieren.

loadReplace Optional

boolean. Ob die neue URL die alte URL in der Navigationshistorie des Tabs, wie sie über die "Zurück"-Taste erreichbar ist, ersetzen soll.

Beispielsweise erstellt der Benutzer mit Strg+T einen neuen Tab. Standardmäßig würde in Firefox "about:newtab" geladen. Wenn Ihre Erweiterung anschließend diese Seite mithilfe von tabs.update aktualisiert, ohne loadReplace, wird die "Zurück"-Taste aktiviert sein und den Benutzer zu "about:newtab" zurückbringen. Wenn die Erweiterung loadReplace setzt, wird die "Zurück"-Taste deaktiviert, und es wird so sein, als ob der von der Erweiterung angegebene URL die erste aufgerufene Seite in diesem Tab wäre.

Beachten Sie jedoch, dass der ursprüngliche URL weiterhin in der globalen Browser-Historie erscheint.

muted Optional

boolean. Ob der Tab stummgeschaltet werden soll.

openerTabId Optional

integer. Die ID des Tabs, der diesen Tab geöffnet hat. Wenn angegeben, muss der öffnende Tab im selben Fenster sein wie dieser Tab. Setzen Sie den Wert auf -1, um den gesetzten openerTabId zu löschen.

pinned Optional

boolean. Ob der Tab angeheftet werden soll.

selected Veraltet Optional

boolean. Ob der Tab ausgewählt werden soll. Diese Eigenschaft wurde durch active und highlighted ersetzt.

successorTabId Optional

integer. Die ID des Nachfolgers dieses Tabs.

url Optional

string. Eine URL, zu der der Tab navigiert werden soll.

Aus Sicherheitsgründen darf dies in Firefox keine privilegierte URL sein. Das Übergeben eines der folgenden URLs schlägt fehl, wobei runtime.lastError auf eine Fehlermeldung gesetzt wird:

  • chrome: URLs
  • javascript: URLs
  • data: URLs
  • file: URLs (d.h. Dateien aus dem Dateisystem. Um jedoch eine in die Erweiterung gepackte Datei zu verwenden, siehe unten)
  • privilegierte about: URLs (zum Beispiel about:config, about:addons, about:debugging, about:newtab). Nicht privilegierte URLs (z.B. about:blank) sind erlaubt.

Um eine Seite zu laden, die in Ihrer Erweiterung enthalten ist, geben Sie eine absolute URL ausgehend von der Manifest-Datei manifest.json an. Zum Beispiel: '/path/to/my-page.html'. Wenn der führende '/' weggelassen wird, wird die URL als relative URL behandelt, und verschiedene Browser könnten unterschiedliche absolute URLs daraus konstruieren.

Rückgabewert

Ein Promise, das mit einem tabs.Tab-Objekt erfüllt wird, das Details über den aktualisierten Tab enthält. Das tabs.Tab-Objekt enthält keinen url, title und favIconUrl, es sei denn, es wurden passende Host-Berechtigungen oder die Berechtigung "tabs" angefordert. Wenn der Tab nicht gefunden werden kann oder ein anderer Fehler auftritt, wird das Promise mit einer Fehlermeldung abgelehnt.

Beispiele

Navigieren Sie den aktiven Tab im aktuellen Fenster zu https://developer.mozilla.org:

js
function onUpdated(tab) {
  console.log(`Updated tab: ${tab.id}`);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

let updating = browser.tabs.update({ url: "https://developer.mozilla.org" });
updating.then(onUpdated, onError);

Aktivieren Sie den ersten Tab im aktuellen Fenster und navigieren Sie ihn zu https://developer.mozilla.org:

js
function onUpdated(tab) {
  console.log(`Updated tab: ${tab.id}`);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

function updateFirstTab(tabs) {
  let updating = browser.tabs.update(tabs[0].id, {
    active: true,
    url: "https://developer.mozilla.org",
  });
  updating.then(onUpdated, onError);
}

let querying = browser.tabs.query({ currentWindow: true });
querying.then(updateFirstTab, onError);

Beispielerweiterungen

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
update
updateProperties.active parameter
updateProperties.autoDiscardable parameter
updateProperties.highlighted parameter
updateProperties.loadReplace parameter
updateProperties.muted parameter
updateProperties.openerTabId parameter
updateProperties.pinned parameter
updateProperties.selected parameter
updateProperties.url parameter

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.
Has more compatibility info.

Hinweis: Diese API basiert auf der chrome.tabs-API von Chromium. Diese Dokumentation wurde von tabs.json im Chromium-Code abgeleitet.