tabs.update()

Parcourez l'onglet vers une nouvelle URL ou modifiez d'autres propriétés de l'onglet.

Pour utiliser cette fonction, transmettez l'ID de l'onglet à mettre à jour et un objet updateProperties contenant les propriétés que vous souhaitez mettre à jour. Les propriétés qui ne sont pas spécifiées dans updateProperties ne sont pas modifiées.

C'est une fonction asynchrone qui renvoie une Promise.

Syntaxe

js
var updating = browser.tabs.update(
  tabId, // optional integer
  updateProperties, // object
);

Paramètres

tabIdFacultatif

integer. Par défaut à l'onglet sélectionné de la fenêtre en cours.

updateProperties

object. L'ensemble des propriétés à mettre à jour pour cet onglet. Pour en savoir plus sur ces propriétés, consultez la documentation tabs.Tab.

activeFacultatif

boolean. Si l'onglet doit devenir actif. Ne modifie pas le focus de la fenêtre (voir windows.update). Si true, les onglets surlignés non actifs cesseront d'être surlignés. Si false, ne fait rien.

autoDiscardableFacultatif

boolean. Si l'onglet doit être supprimé automatiquement par le navigateur lorsque les ressources sont faibles.

highlightedFacultatif

boolean. Ajoute ou supprime l'onglet de la sélection courante. Si true et que l'onglet n'est pas surligné, il deviendra actif par défaut.

Si vous voulez seulement mettre en surbrillance l'onglet sans l'activer, Firefox accepte le réglage highlighted à true et active à false. D'autres navigateurs peuvent activer l'onglet même dans ce cas.

loadReplaceFacultatif

boolean. Si la nouvelle URL doit remplacer l'ancienne URL dans l'historique de navigation de l'onglet, accessible via le bouton "Retour".

Par exemple, supposons que l'utilisateur crée un nouvel onglet en utilisant Ctrl + T. Par défaut, dans Firefox, cela chargerait "about:newtab". Si votre extension met alors à jour cette page en utilisant tabs.update, sans loadReplace, le bouton "retour" sera activé et ramènera l'utilisateur à "about:newtab". Si l'extension définit loadReplace, le bouton "retour" sera désactivé et ce sera comme si l'URL fournie par l'extension était la première page visitée dans cet onglet.

Notez cependant que l'URL d'origine apparaîtra toujours dans l'historique global du navigateur.

mutedFacultatif

boolean. Si l'onglet doit être coupé.

openerTabIdFacultatif

integer. L'ID de l'onglet qui a ouvert cet onglet. Si spécifié, l'onglet d'ouverture doit être dans la même fenêtre que cet onglet.

pinnedFacultatif

boolean. Si l'onglet doit être épinglé.

selected Obsolète Facultatif

boolean. Si l'onglet doit être sélectionné. Cette propriété a été remplacée par active et highlighted.

successorTabId Facultatif

integer. L'identifiant de l'ID du successeur de l'onglet.

urlFacultatif

string. Une URL pour naviguer dans l'onglet.

Pour des raisons de sécurité, dans Firefox, il se peut que ce ne soit pas une URL privilégiée. Le passage de l'une des URL suivantes échouera, avec runtime.lastError étant défini sur un message d'erreur :

  • chrome: URLs
  • javascript: URLs
  • data: URLs
  • file: URLs (c'est-à-dire, fichiers sur le système de fichiers, cependant, pour utiliser un fichier empaqueté à l'intérieur de l'extension, voir ci-dessous)
  • confidentiel : URLs (par exemle, about:config, about:addons, about:debugging, about:newtab). Les URL non privilégiées (par exemple, about:blank) sont autorisées.

Pour charger une page fournie avec votre extension, spécifiez une URL absolue à partir du fichier manifest.json de l'extension. Par exemple : '/path/to/my-page.html'. Si vous omettez le premier caractère '/', l'URL est traitée comme une URL relative et différents navigateurs peuvent construire différentes URL absolues.

Valeur retournée

A Promise qui sera remplie avec un objet tabs.Tab contenant des détails sur l'onglet mis à jour. L'objet tabs.Tab ne contient pas d' url, title et favIconUrl sauf si la permission "tabs" a été demandée. Si l'onglet n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

Exemples

Naviguez dans l'onglet actif de la fenêtre en cours pour https://developer.mozilla.org :

js
function onUpdated(tab) {
  console.log(`Updated tab: ${tab.id}`);
}

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

var updating = browser.tabs.update({ url: "https://developer.mozilla.org" });
updating.then(onUpdated, onError);

Activez le premier onglet de la fenêtre actuelle et naviguez jusqu'à https://developer.mozilla.org:

js
function onUpdated(tab) {
  console.log(`Updated tab: ${tab.id}`);
}

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

function updateFirstTab(tabs) {
  var updating = browser.tabs.update(tabs[0].id, {
    active: true,
    url: "https://developer.mozilla.org",
  });
  updating.then(onUpdated, onError);
}

var querying = browser.tabs.query({ currentWindow: true });
querying.then(updateFirstTab, 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.