tabs.move()
Déplace un ou plusieurs onglets vers une nouvelle position dans la même fenêtre ou vers une autre fenêtre.
Vous pouvez uniquement déplacer des onglets vers et à partir de fenêtres dont WindowType
est "normal"
.
C'est une fonction asynchrone qui renvoie une Promise
.
Syntaxe
var moving = browser.tabs.move(
tabIds, // integer or integer array
moveProperties, // object
);
Paramètres
tabIds
-
integer
ouarray
d'integer
. ID dutab
à déplacer, ou un tableau d'ID d'onglet. moveProperties
-
object
. Un objet qui spécifie où déplacer le(s) onglet(s).windowId
Facultatif-
integer
. 'ID de la fenêtre dans laquelle vous souhaitez déplacer les onglet(s). Si vous omettez cela, chaque onglet detabIds
sera déplacé vers l'index
dans sa fenêtre actuelle. Si vous incluez ceci, ettabIds
contient plus d'un onglet, alors le premier onglet detabIds
sera déplacé vers l'index
, et les autres onglets le suivront dans l'ordre donné danstabIds
. index
-
integer
. La position de l'index pour déplacer la tabulation à, en commençant à 0. Une valeur de -1 placera la tabulation à la fin de la fenêtre.Si vous passez une valeur inférieure à -1, la fonction renvoie une erreur.
Notez que vous ne pouvez pas déplacer les onglets épinglés sur une position après les onglets non épinglés d'une fenêtre, ou déplacer les onglets non épinglés à une position avant les onglets épinglés. Par exemple, si vous avez un ou plusieurs onglets épinglés dans la fenêtre cible et si tabIds fait référence à un onglet non épinglé, vous ne pouvez pas passer 0 ici. Si vous essayez de le faire, la fonction échouera silencieusement (elle ne produira pas d'erreur).
Valeur retournée
Une Promise
qui sera satisfaite avec un objet
ou un tabs.Tab
tableau
d'objets
, contenant des détails sur les onglets déplacés. Si aucun onglet n'a été déplacé (par exemple, parce que vous avez essayé de déplacer un onglet non épinglé avant un onglet épinglé), il s'agira d'un tableau vide. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.tabs.Tab
Exemples
Déplacer le premier onglet de la fenêtre en cours vers la dernière position de la fenêtre en cours :
function onMoved(tab) {
console.log(`Moved: ${tab}`);
}
function onError(error) {
console.log(`Error: ${error}`);
}
function firstToLast(windowInfo) {
if (windowInfo.tabs.length == 0) {
return;
}
var moving = browser.tabs.move(windowInfo.tabs[0].id, { index: -1 });
moving.then(onMoved, onError);
}
browser.browserAction.onClicked.addListener(function () {
var gettingCurrent = browser.windows.getCurrent({ populate: true });
gettingCurrent.then(firstToLast, onError);
});
Déplacer tous les onglets servis via HTTP ou HTTPS depuis * .mozilla.org jusqu'à la fin de leur fenêtre :
function onMoved(tab) {
console.log(`Moved: ${tab}`);
}
function onError(error) {
console.log(`Error: ${error}`);
}
function moveMoz(tabs) {
var mozTabIds = tabs.map((tabInfo) => tabInfo.id);
var moving = browser.tabs.move(mozTabIds, { index: -1 });
moving.then(onMoved, onError);
}
browser.browserAction.onClicked.addListener(function () {
var gettingMozTabs = browser.tabs.query({ url: "*://*.mozilla.org/*" });
gettingMozTabs.then(moveMoz, onError);
});
Déplacer tous les onglets servis via HTTP ou HTTPS de * .mozilla.org vers la fenêtre qui héberge le premier onglet de ce type, en commençant à la position 0 :
function onMoved(tab) {
console.log(`Moved: ${tab}`);
}
function onError(error) {
console.log(`Error: ${error}`);
}
function moveMoz(tabs) {
var mozTabIds = tabs.map((tabInfo) => tabInfo.id);
var targetWindow = tabs[0].windowId;
var moving = browser.tabs.move(mozTabIds, {
windowId: targetWindow,
index: 0,
});
moving.then(onMoved, onError);
}
browser.browserAction.onClicked.addListener(function () {
var gettingMozTabs = browser.tabs.query({ url: "*://*.mozilla.org/*" });
gettingMozTabs.then(moveMoz, onError);
});
Example extensions
Compatibilité des navigateurs
BCD tables only load in the browser
Note :
Cette API est basée sur l'API chrome.tabs
de Chromium. Cette documentation est dérivée de tabs.json
dans le code de Chromium code.
Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.