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 zugewiesen werden. Um mehr über diese Eigenschaften zu erfahren, siehe die Dokumentation zu tabs.Tab.

active Optional

boolean. Ob der Tab der aktive Tab im Fenster werden soll. Wenn false, hat dies keine Wirkung. Beeinflusst nicht, ob das Fenster fokussiert ist (siehe windows.update). Standardmäßig true.

cookieStoreId Optional

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

discarded Optional

boolean. Ob der Tab erstellt und in der Tableiste sichtbar gemacht wird, ohne dass Inhalte in den Speicher geladen werden, 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 sollte. Der angegebene Wert wird auf einen Wert zwischen null und der Anzahl der Tabs im Fenster geklammert.

muted Optional

boolean. Ob der Tab stummgeschaltet werden soll. Standardmäßig false.

openerTabId Optional

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

openInReaderMode Optional

boolean. Wenn true, öffnen Sie diesen Tab im Reader-Modus. Standardmäßig false.

pinned Optional

boolean. Ob der Tab gepinnt werden soll. Standardmäßig false.

selected Optional

boolean. Ob der Tab der ausgewählte Tab im Fenster werden soll. Standardmäßig 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 navigieren soll. Standardmäßig die Neuer-Tab-Seite.

Vollqualifizierte URLs müssen ein Schema enthalten (zum Beispiel, 'http://www.google.com' statt 'www.google.com').

Aus Sicherheitsgründen dürfen in Firefox keine privilegierten URLs übergeben werden. Daher schlägt die Übergabe der folgenden URLs fehl:

  • chrome: URLs
  • javascript: URLs
  • data: URLs
  • file: URLs (d.h. Dateien im Dateisystem. Um jedoch eine Datei zu verwenden, die in der Erweiterung gepackt ist, siehe unten)
  • privilegierte about: URLs (zum Beispiel, about:config, about:addons, about:debugging). Nicht privilegierte URLs (z.B. about:blank) sind erlaubt.
  • Die Neuer-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 gepackt ist, geben Sie eine absolute URL ausgehend von der manifest.json-Datei der Erweiterung an. Zum Beispiel: '/path/to/my-page.html'. Wenn Sie das führende '/' weglassen, wird die URL als relative URL behandelt, und unterschiedliche Browser können unterschiedliche absolute URLs konstruieren.

windowId Optional

integer. Das Fenster, in dem der neue Tab erstellt werden soll. Standardmäßig 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 (zum Beispiel, weil url ein privilegiertes Schema verwendet), 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 auf 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 Chromiums chrome.tabs API. Diese Dokumentation ist abgeleitet von tabs.json im Chromium-Code.