tabs.move()
Verschiebt einen oder mehrere Tabs an eine neue Position im selben Fenster oder in ein anderes Fenster.
Sie können nur Tabs zwischen Fenstern verschieben, deren WindowType "normal" ist.
Wenn mit einem Split View verbundene Tabs verschoben werden:
- Wenn beide Tabs in einem Split angegeben sind und nebeneinander bleiben, ihre Reihenfolge jedoch geändert wird, werden die Tabs im Split View vertauscht.
- Wenn beide Tabs in einem Split View angegeben sind, aber durch einen oder mehrere Tabs getrennt sind, werden die Tabs verschoben und das Split View entfernt.
- Wenn nur einer der Tabs in einem Split View verschoben wird:
- In Firefox wird der andere Tab verschoben, um das Split View zu erhalten. Die Tabs werden bei Bedarf neu geordnet.
Hinweis: Nur in Firefox 149, wenn ein Aufruf einen oder mehrere Tabs in einem Split View verschiebt, werden die Tabs im Split View zusammen verschoben, aber die Reihenfolge der Tabs bleibt unverändert.
- In Chrome wird das Verschieben eines Tabs vom anderen Tab im Split View das Split View entfernen. (Dieses Verhalten kann sich in einer zukünftigen Version ändern.) Andernfalls werden die Tabs bei Bedarf neu geordnet.
- In Firefox wird der andere Tab verschoben, um das Split View zu erhalten. Die Tabs werden bei Bedarf neu geordnet.
Syntax
let moving = browser.tabs.move(
tabIds, // integer or integer array
moveProperties // object
)
Parameter
tabIds-
integeroderarrayvoninteger. ID destabzur Verschiebung oder ein Array von Tab-IDs. moveProperties-
object. Ein Objekt, das angibt, wohin die Tab(s) verschoben werden sollen.windowIdOptional-
integer. Die ID des Fensters, in das Sie die Tab(s) verschieben möchten. Wenn Sie dies weglassen, wird jeder Tab intabIdsan die Positionindexin seinem aktuellen Fenster verschoben. Wenn Sie dies einschließen undtabIdsmehr als einen Tab enthält, wird der erste Tab intabIdsanindexverschoben, und die anderen Tabs folgen ihm in der angegebenen Reihenfolge vontabIds. 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, löst die Funktion einen Fehler aus.
Beachten Sie, dass Sie keine angehefteten Tabs an eine Position nach nicht angehefteten Tabs in einem Fenster verschieben können oder nicht angeheftete Tabs vor angeheftete Tabs. Zum Beispiel, wenn im Ziel-Fenster ein oder mehrere angeheftete Tabs vorhanden sind und
tabIdsauf einen nicht angehefteten Tab verweist, können Sie hier nicht 0 übergeben. Wenn Sie versuchen, dies zu tun, schlägt die Funktion stillschweigend fehl (sie löst keinen Fehler aus).
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 einen angehefteten Tab zu verschieben), ist dies ein leeres Array. Wenn ein Fehler auftritt, wird das Promise mit einer Fehlermeldung abgelehnt.
Beispiele
Verschieben Sie den ersten Tab im aktuellen Fenster an die letzte Position im aktuellen Fenster:
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 über HTTP oder HTTPS bereitgestellten Tabs von *.mozilla.org ans Ende ihres Fensters:
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 über HTTP oder HTTPS bereitgestellten Tabs von *.mozilla.org in das Fenster, das den ersten solchen Tab hostet, beginnend bei Position 0:
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 Chromium's chrome.tabs API. Diese Dokumentation stammt von tabs.json im Chromium-Code.