tabs.create()

Erstellt einen neuen Tab.

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

Syntax

js
let creating = browser.tabs.create(
  createProperties   // object
)

Parameter

createProperties

object. Eigenschaften, die dem neuen Tab zugeordnet werden. Um mehr über diese Eigenschaften zu erfahren, lesen Sie die Dokumentation zu tabs.Tab.

active Optional

boolean. Gibt an, ob der Tab der aktive Tab im Fenster werden soll. Wenn false, hat es keine Auswirkungen. Beeinflusst nicht, ob das Fenster fokussiert ist (siehe windows.update). Standardwert ist true.

cookieStoreId Optional

string. Verwenden Sie dies, um einen Tab zu erstellen, dessen Cookie-Store-ID cookieStoreId ist. Diese Option ist nur verfügbar, wenn die Erweiterung die "cookies" Berechtigung hat. Weitere Informationen finden Sie unter Arbeiten mit kontextuellen Identitäten.

discarded Optional

boolean. Gibt an, ob der Tab erstellt und in der Tableiste ohne geladene Inhalte im Speicher sichtbar gemacht werden soll, ein Zustand, der als verworfen bekannt ist. Der Inhalt des Tabs wird geladen, wenn der Tab aktiviert wird.

index Optional

integer. Die Position, die der Tab im Fenster einnehmen soll. Der angegebene Wert wird zwischen null und der Anzahl der Tabs im Fenster begrenzt.

muted Optional

boolean. Gibt an, ob der Tab stummgeschaltet werden soll. Standardwert ist false.

openerTabId Optional

integer. Die ID des Tabs, der diesen Tab geöffnet hat. Wenn angegeben, muss der eröffnende Tab im selben Fenster wie der neu erstellte Tab sein.

openInReaderMode Optional

boolean. Wenn true, öffnen Sie diesen Tab im Reader-Modus. Standardwert ist false.

pinned Optional

boolean. Gibt an, ob der Tab angeheftet werden soll. Standardwert ist false.

selected Optional

boolean. Gibt an, ob der Tab der ausgewählte Tab im Fenster werden soll. Standardwert ist true.

Warnung: Diese Eigenschaft ist veraltet und wird in Firefox nicht unterstützt. Verwenden Sie stattdessen active.

title Optional

string. Der Titel des Tabs. Nur erlaubt, wenn der Tab mit discarded auf true erstellt wird.

url Optional

string. Die URL, zu der der Tab initial navigiert werden soll. Standardwert ist die Neue-Tab-Seite.

Vollqualifizierte URLs müssen ein Schema enthalten (z.B. 'http://www.google.com' nicht 'www.google.com').

Aus Sicherheitsgründen darf dies in Firefox keine privilegierte URL sein. Daher wird das Übergeben einer der folgenden URLs fehlschlagen:

  • chrome: URLs
  • javascript: URLs
  • data: URLs
  • file: URLs (d.h. Dateien im Dateisystem. Um jedoch eine Datei zu verwenden, die innerhalb der Erweiterung verpackt ist, siehe unten)
  • privilegierte about: URLs (z.B. about:config, about:addons, about:debugging). Nicht privilegierte URLs (z.B. about:blank) sind erlaubt.
  • Die Neue-Tab-Seite (about:newtab) kann geöffnet werden, wenn kein Wert für URL angegeben ist.

Um eine Seite zu laden, die mit Ihrer Erweiterung verpackt ist, geben Sie eine absolute URL an, die bei der manifest.json-Datei der Erweiterung beginnt. Beispiel: '/Pfad/zu/meiner-seite.html'. Wenn Sie den führenden '/' weglassen, wird die URL als relative URL behandelt, und verschiedene Browser können unterschiedliche absolute URLs konstruieren.

windowId Optional

integer. Das Fenster, in dem der neue Tab erstellt werden soll. Standardwert ist das aktuelle Fenster.

Rückgabewert

Ein Promise, das mit einem tabs.Tab-Objekt erfüllt wird, das Details über den erstellten Tab enthält. Wenn der Tab nicht erstellt werden konnte (z.B. weil url ein privilegiertes Schema verwendet hat), wird das Promise mit einer Fehlermeldung abgelehnt.

Das von browser.tabs.create() zurückgegebene Promise wird aufgelöst, sobald der Tab erstellt wurde. Der Tab kann noch laden. Um zu erkennen, wann der Tab das Laden abgeschlossen hat, hören Sie das tabs.onUpdated- oder das webNavigation.onCompleted-Ereignis, bevor Sie tabs.create aufrufen.

Beispiele

Öffnen Sie "https://example.org" in einem neuen Tab:

js
function onCreated(tab) {
  console.log(`Created new tab: ${tab.id}`);
}

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

browser.browserAction.onClicked.addListener(() => {
  let creating = browser.tabs.create({
    url: "https://example.org",
  });
  creating.then(onCreated, onError);
});

Beispielerweiterungen

Browser-Kompatibilität

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