tabs.move()
Verschiebt einen oder mehrere Tabs an eine neue Position im selben Fenster oder in ein anderes Fenster.
Sie können Tabs nur in und aus Fenstern verschieben, deren WindowType
"normal"
ist.
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
let moving = browser.tabs.move(
tabIds, // integer or integer array
moveProperties // object
)
Parameter
tabIds
-
integer
oderarray
voninteger
. ID des zu verschiebendentab
, 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 intabIds
anindex
in seinem aktuellen Fenster verschoben. Wenn Sie dies angeben undtabIds
mehr als einen Tab enthält, wird der erste Tab intabIds
anindex
verschoben, und die anderen Tabs folgen ihm in der angegebenen Reihenfolge intabIds
. 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 werfen.
Beachten Sie, dass Sie keine fixierten Tabs an eine Position hinter einem nicht fixierten Tab in einem Fenster verschieben können oder umgekehrt. Wenn Sie beispielsweise in dem Ziel-Fenster einen oder mehrere fixierte Tabs haben und
tabIds
auf einen nicht fixierten Tab verweist, können Sie hier nicht 0 angeben. Wenn Sie dies versuchen, schlägt die Funktion stillschweigend fehl (es wird kein Fehler geworfen).
Rückgabewert
Ein Promise
, das mit einem
-Objekt oder einem tabs.Tab
array
von
-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 fixierten Tab vor einen fixierten Tab zu verschieben), wird dies ein leeres Array sein. Wenn ein Fehler auftritt, wird das Promise mit einer Fehlermeldung abgelehnt.tabs.Tab
Beispiele
Verschieben Sie den ersten Tab im aktuellen Fenster in 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 Tabs, die über HTTP oder HTTPS von *.mozilla.org bedient werden, an das 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 Tabs, die über HTTP oder HTTPS von *.mozilla.org bedient werden, 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);
});
Beispiel-Erweiterungen
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 von tabs.json
im Chromium-Code.