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, sehen Sie sich die tabs.Tab Dokumentation an.

active Optional

boolean. Ob der Tab der aktive Tab im Fenster werden soll. Wenn false, hat dies keine Auswirkung. 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. 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 soll. Der angegebene Wert wird zwischen null und der Anzahl der Tabs im Fenster begrenzt.

muted Optional

boolean. 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 öffnende Tab im selben Fenster wie der neu erstellte Tab sein.

openInReaderMode Optional

boolean. Wenn true, öffnen Sie diesen Tab im Lesemodus. Standardwert ist false.

pinned Optional

boolean. Ob der Tab angeheftet werden soll. Standardwert ist false.

selected Optional

boolean. 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 anfangs navigieren soll. Standardwert ist die Neue-Tab-Seite.

Vollständig qualifizierte URLs müssen ein Schema enthalten (beispielsweise 'http://www.google.com' statt 'www.google.com').

Aus Sicherheitsgründen darf dies in Firefox keine privilegierte URL sein. Daher schlägt die Übergabe einer der folgenden URLs fehl:

  • chrome: URLs
  • javascript: URLs
  • data: URLs
  • file: URLs (d.h. Dateien auf dem Dateisystem. Um jedoch eine Datei zu verwenden, die in die Erweiterung eingebunden 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 in Ihre Erweiterung eingebunden ist, geben Sie eine absolute URL an, die bei der manifest.json-Datei der Erweiterung beginnt. Beispielsweise: '/path/to/my-page.html'. Wenn Sie das führende '/' 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 (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 geladen werden. 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

BCD tables only load in the browser

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