Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

tabs.move()

Verschiebt einen oder mehrere Tabs an eine neue Position im gleichen Fenster oder in ein anderes Fenster.

Sie können nur Tabs zu und von Fenstern bewegen, deren WindowType auf "normal" gesetzt ist.

Wenn der Aufruf einen Tab oder mehrere Tabs in einer geteilten Ansicht verschiebt, bewegt Firefox die Tabs in der geteilten Ansicht zusammen, um die geteilte Ansicht zu erhalten. In Chrome entfernt das Verschieben eines Tabs weg vom anderen Tab in einer geteilten Ansicht die geteilte Ansicht.

Syntax

js
let moving = browser.tabs.move(
  tabIds,              // integer or integer array
  moveProperties       // object
)

Parameter

tabIds

integer oder array von integer. ID des zu verschiebenden tab, oder ein Array von Tab-IDs.

moveProperties

object. Ein Objekt, das angibt, wohin der/die Tab(s) verschoben werden soll(en).

windowId Optional

integer. Die ID des Fensters, in das Sie den/die Tab(s) verschieben möchten. Wenn Sie dies weglassen, wird jeder Tab in tabIds an index in seinem aktuellen Fenster verschoben. Wenn Sie dies angeben und tabIds mehr als einen Tab enthält, wird der erste Tab in tabIds an index verschoben, und die anderen Tabs folgen ihm in der in tabIds angegebenen Reihenfolge.

index

integer. Die Indexposition, an die der Tab verschoben werden soll, beginnend bei 0. Ein Wert von -1 platziert den Tab am Ende des Fensters.

Wenn Sie einen Wert kleiner als -1 übergeben, wird die Funktion einen Fehler auslösen.

Beachten Sie, dass Sie angeheftete Tabs nicht an eine Position nach nicht angehefteten Tabs in einem Fenster verschieben können oder umgekehrt. Wenn Sie beispielsweise einen oder mehrere angeheftete Tabs im Ziel-Fenster haben und tabIds sich auf einen nicht angehefteten Tab bezieht, dann können Sie hier nicht 0 angeben. Wenn Sie dies versuchen, wird die Funktion stillschweigend fehlschlagen (es wird kein Fehler ausgelöst).

Rückgabewert

Ein Promise, das mit einem tabs.Tab-Objekt oder einem array von tabs.Tab-Objekten erfüllt wird, das Details über die verschobenen Tabs enthält. Wenn keine Tabs verschoben wurden (zum Beispiel, weil Sie versucht haben, einen nicht angehefteten Tab vor einem angehefteten Tab zu verschieben), ist dies ein leeres Array. Falls ein Fehler auftritt, wird das Promise mit einer Fehlermeldung zurückgewiesen.

Beispiele

Verschieben Sie den ersten Tab im aktuellen Fenster zur letzten Position im aktuellen Fenster:

js
function onMoved(tab) {
  console.log(`Moved: ${tab}`);
}

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

function firstToLast(windowInfo) {
  if (windowInfo.tabs.length === 0) {
    return;
  }
  let moving = browser.tabs.move(windowInfo.tabs[0].id, { index: -1 });
  moving.then(onMoved, onError);
}

browser.browserAction.onClicked.addListener(() => {
  let gettingCurrent = browser.windows.getCurrent({ populate: true });
  gettingCurrent.then(firstToLast, onError);
});

Verschieben Sie alle Tabs, die über HTTP oder HTTPS von *.mozilla.org bedient werden, ans Ende ihres Fensters:

js
function onMoved(tab) {
  console.log(`Moved: ${tab}`);
}

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

function moveMoz(tabs) {
  let mozTabIds = tabs.map((tabInfo) => tabInfo.id);
  let moving = browser.tabs.move(mozTabIds, { index: -1 });
  moving.then(onMoved, onError);
}

browser.browserAction.onClicked.addListener(() => {
  let gettingMozTabs = browser.tabs.query({ url: "*://*.mozilla.org/*" });
  gettingMozTabs.then(moveMoz, onError);
});

Verschieben Sie alle Tabs, die über HTTP oder HTTPS von *.mozilla.org bedient werden, in das Fenster, das den ersten solchen Tab beherbergt, beginnend bei Position 0:

js
function onMoved(tab) {
  console.log(`Moved: ${tab}`);
}

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

function moveMoz(tabs) {
  let mozTabIds = tabs.map((tabInfo) => tabInfo.id);
  let targetWindow = tabs[0].windowId;
  let moving = browser.tabs.move(mozTabIds, {
    windowId: targetWindow,
    index: 0,
  });
  moving.then(onMoved, onError);
}

browser.browserAction.onClicked.addListener(() => {
  let gettingMozTabs = browser.tabs.query({ url: "*://*.mozilla.org/*" });
  gettingMozTabs.then(moveMoz, 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.