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

`tabId`Facultatif

`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`.

`active`Facultatif

`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.

`autoDiscardable`Facultatif

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

`highlighted`Facultatif

`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.

`loadReplace`Facultatif

`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.

`muted`Facultatif

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

`openerTabId`Facultatif

`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.

`pinned`Facultatif

`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.

`url`Facultatif

`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

* chill-out
* firefox-code-search
* menu-labelled-open
* tabs-tabs-tabs
Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**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.