tabs.duplicate()

Duplique un onglet dont l'identifiant est donné.

Il s'agit d'une fonction asynchrone qui renvoie une promesse (Promise).

Syntaxe

let duplicating = browser.tabs.duplicate(
  tabId,              // entier
  duplicateProperties // objet optionnel
);

Paramètres

tabId
integer. L'identifiant de l'onglet à dupliquer.
duplicateProperties Optionnel
object. Un objet décrivant la façon dont l'onglet est dupliqué. Il contient les propriétés suivantes :
index Optionnel
integer. La position du nouvel onglet dans la fenêtre. La valeur est restreinte à l'intervalle entre zéro et le nombre d'onglets dans la fenêtre.
active Optionnel

boolean. Si l'onglet devient l'onglet actif dans la fenêtre. Cela ne change pas l'état du focus pour la fenêtre. true par défaut.

Valeur de retour

Une promesse (Promise) dont la valeur de résolution sera un objet tabs.Tab contenant des détails sur l'onglet dupliqué. L'objet Tab contiendra les propriétés url, title et favIconUrl uniquement si l'extension dispose de la permission "tabs" ou lorsque l'hôte correspond à un hôte ciblé dans les permissions. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

Note : À partir de Firefox 68, la promesse renvoyée par browser.tabs.duplicate() se résout dès que l'onglet a été dupliqué. Auparavant, la promesse n'était résolue qu'une fois l'onglet entièrement chargé.

Exemples

Duplique le premier onglet, puis affiche l'identifiant de l'onglet nouvellement créé :

function onDuplicated(tabInfo) {
  console.log(tabInfo.id);
}

function onError(error) {
  console.error(error);
}

// Duplique le premier onglet du tableau
function duplicateFirstTab(tabs) {
  console.log(tabs);
  if (tabs.length > 0) {
    let duplicating = browser.tabs.duplicate(tabs[0].id);
    duplicating.then(onDuplicated, onError);
  }
}

// On récupère tous les onglets ouverts
let querying = browser.tabs.query({});
querying.then(duplicateFirstTab, onError);

Exemple d'extensions

Compatibilité des navigateurs

BCD tables only load in the browser

Remerciements

Cette API est basée sur l'API Chromium chrome.tabs. 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.