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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
update
updateProperties.active parameter
updateProperties.autoDiscardable parameter
updateProperties.highlighted parameter
updateProperties.loadReplace parameter
updateProperties.muted parameter
updateProperties.openerTabId parameter
updateProperties.pinned parameter
updateProperties.selected parameter
updateProperties.url parameter

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.
Has more compatibility info.

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.