recursal/MDN huggingface dataset:
tabs.hide()
===========

Masque un ou plusieurs onglets.

Les onglets cachés ne sont plus visibles dans l'onglet du navigateur. Les onglets cachés ne sont pas automatiquement supprimés : le code qui s'y trouve continue à s'exécuter. Vous pouvez explicitement supprimer les onglets à chaque fois que vous les masquez : bien que cela ne soit pas approprié dans toutes les situations, cela aidera à réduire les ressources utilisées par le navigateur.

C'est une fonction asynchrone qui renvoie une `Promise`.

Tous les onglets ne peuvent pas être masqués :

* Les onglets épinglés ne peuvent pas être masqués.
* Les onglets qui partagent l'écran, le microphone ou l'appareil photo ne peuvent pas être masqués.
* L'onglet actif actuel ne peut pas être masqué.
* Les onglets en cours de fermeture ne peuvent pas être masqués.

La première fois qu'une extension cache un onglet, le navigateur indiquera à l'utilisateur que l'onglet est caché, leur montrera comment ils peuvent accéder à l'onglet caché et leur donnera l'option de désactiver l'extension à la place.

Pour utiliser cette API, vous devez disposer de la permission "tabHide".

Syntaxe
-------


```js
var hiding = browser.tabs.hide(
  tabIds, // integer or integer array
);
```

### Paramètres

`tabIds`

`integer` or `array` of `integer`. Les ID de l'onglet ou des onglets à masquer.

Si l'un de ces onglets ne peut pas être masqué, il ne sera pas masqué, mais l'appel sera toujours valide et les onglets éligibles seront toujours masqués. Par exemple, si vous passez `[1, 3]`, et `1` identifie l'onglet actif, alors seulement `3` seront cachés.

Cependant, si l'un des ID d'onglet n'est pas valide, l'appel échouera et aucun onglet ne sera masqué.

### Valeur retournée

Une `Promise` qui sera remplie avec un tableau contenant les ID des onglets qui ont été cachés. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

Exemples
--------

Masquer un seul onglet :


```js
function onHidden() {
  console.log(`Hidden`);
}

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

browser.tabs.hide(2).then(onHidden, onError);
```


Masquer plusieurs onglets :


```js
function onHidden() {
  console.log(`Hidden`);
}

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

browser.tabs.hide([15, 14, 1]).then(onHidden, onError);
```

Compatibilité des navigateurs
-----------------------------

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

Le type de fenêtre qui héberge cet onglet.

Type
----

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:

* **"normal"**
* **"popup"**
* **"panel"**
* **"devtools"**
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 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.
tabs.getAllInWindow()
=====================

**Deprecated**
 Cette méthode est dépréciée. Utilisez `tabs.query({currentWindow: true})` à la place.

Obtient des détails sur tous les onglets de la fenêtre spécifiée.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var getting = browser.tabs.getAllInWindow(
  windowId, // optional integer
);
```

### Paramètres

`windowId`Facultatif

`integer`. Par défaut à la fenêtre actuelle.

### Valeur retournée

Une `Promise` qui sera remplie avec un `tableau` d'ojets ``tabs.Tab`` contenant des informations sur tous les onglets de la fenêtre. Si la fenêtre n'a pas pu être trouvée ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

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.
tabs.MutedInfo
==============

Cet objet contient un booléen indiquant si l'onglet est muet et la raison du dernier changement d'état.

Type
----

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

`extensionId`Facultatif

`string`. L'ID de l'extension qui a modifié en dernier l'état muet. Non défini si une extension n'a pas été la raison pour laquelle l'état muet a été modifié pour la dernière fois.

`muted`

`boolean`. Si l'onglet est actuellement coupé. Équivalent à l'affichage de l'indicateur audio coupé.

`reason`Facultatif

`tabs.MutedInfoReason`. La raison pour laquelle l'onglet a été désactivé ou désactivé. Non défini si l'état muet de l'onglet n'a jamais été modifié.

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 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.
tabs.reload()
=============

Rechargez un onglet, en contournant éventuellement le cache Web local.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var reloading = browser.tabs.reload(
  tabId, // optional integer
  reloadProperties, // optional object
);
```

### Paramètres

`tabId`Facultatif

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

`reloadProperties`Facultatif

`object`.

`bypassCache`Facultatif

`boolean`. Contourner le cache web local. La valeur par défaut est `false`.


### Valeur retournée

Une `Promise` qui sera remplie sans arguments lorsque l'onglet a été rechargé. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

Exemples
--------

Recharger l'onglet actif de la fenêtre en cours :


```js
browser.tabs.reload();
```


Rechargez l'onglet actif de la fenêtre en cours, en ignorant le cache :


```js
browser.tabs.reload({ bypassCache: true });
```


Rechargez l'onglet dont l'ID est 2, en ignorant le cache et en appelant un rappel lorsque vous avez terminé :


```js
function onReloaded() {
  console.log(`Reloaded`);
}

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

var reloading = browser.tabs.reload(2, { bypassCache: true });
reloading.then(onReloaded, onError);
```

### Example extensions

* 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.
tabs.getCurrent()
=================

Obtenez un `tabs.Tab` contenant des informations sur l'onglet dans lequel ce script s'exécute.

Vous pouvez appeler cette fonction dans des contextes comportant un onglet de navigateur, par exemple une pages d'options. Si vous l'appelez à partir d'un script d'arrière-plan ou d'une fenêtre contextuelle, elle renverra undefined.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var gettingCurrent = browser.tabs.getCurrent();
```

### Paramètres

None.

### Valeur retournée

Une `Promise` qui sera remplie avec un objet `tabs.Tab` contenant des informations sur l'onglet en cours. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

Exemples
--------

Obtenir les informations sur l'onglet en cours :


```js
function onGot(tabInfo) {
  console.log(tabInfo);
}

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

var gettingCurrent = browser.tabs.getCurrent();
gettingCurrent.then(onGot, onError);
```

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.
tabs.saveAsPDF()
================

Enregistre la page en cours en tant que fichier PDF. Cela ouvrira une boîte de dialogue, fournie par le système d'exploitation sous-jacent, demandant à l'utilisateur où il veut enregistrer le fichier PDF.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var saving = browser.tabs.saveAsPDF(
  pageSettings, // object
);
```

### Paramètres

`pageSettings`

`object`. Paramètres de la page enregistrée, en tant qu'objet `tabs.PageSettings`. Cet objet doit être donné, mais toutes ses propriétés sont facultatives. Toutes les propriétés non spécifiées ici recevront les valeurs par défaut répertoriées dans la documentation `PageSettings`.

### Valeur retournée

Une `Promise` qui sera remplie avec une chaîne d'état lorsque la boîte de dialogue sera fermée. La chaîne peut être l'une des :

* "saved"
* "replaced"
* "canceled"
* "not\_saved"
* "not\_replaced"
Exemples
--------

Dans cet exemple, un script d'arrière-plan écoute un clic sur une action du navigateur, puis tente d'enregistrer l'onglet actif en tant que fichier PDF, puis enregistre le résultat:


```js
browser.browserAction.onClicked.addListener(() => {
  browser.tabs.saveAsPDF({}).then((status) => {
    console.log(status);
  });
});
```

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
tabs.captureVisibleTab()
========================

Crée une URI de données codant une image de la zone visible de l'onglet actuellement actif dans la fenêtre spécifiée. Vous devez avoir la permission `<all_urls>` pour utiliser cette méthode. (Alternativement, Chrome permet l'utilisation de cette méthode avec la permission `activeTab` et un geste utilisateur qualifiant).

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var capturing = browser.tabs.captureVisibleTab(
  windowId, // optional integer
  options, // optional extensionTypes.ImageDetails
);
```

### Paramètres

`windowId`Facultatif

`integer`. La fenêtre cible Par défaut à la fenêtre actuelle.

`options`Facultatif

`extensionTypes.ImageDetails`.

### Valeur retournée

Une `Promise` qui sera remplie avec une URL de données qui code une image de la zone visible de l'onglet capturé. Peut être affecté à la propriété 'src' d'un élément HTML Image pour l'affichage. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

Exemples
--------

Capturez une image de l'onglet actif dans la fenêtre actuelle, avec les paramètres par défaut :


```js
function onCaptured(imageUri) {
  console.log(imageUri);
}

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

browser.browserAction.onClicked.addListener(function () {
  var capturing = browser.tabs.captureVisibleTab();
  capturing.then(onCaptured, onError);
});
```

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 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.
tabs.onHighlightChanged
=======================

**Attention :** Cet événement est obsolète. Utilisez `tabs.onHighlighted` à la place.

Lancé lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent.

Syntaxe
-------


```js
browser.tabs.onHighlightChanged.addListener(listener);
browser.tabs.onHighlightChanged.removeListener(listener);
browser.tabs.onHighlightChanged.hasListener(listener);
```


Les événements ont trois fonctions :

`addListener(callback)`

Ajoute un écouteur à cet événement

`removeListener(listener)`

Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer.

`hasListener(listener)`

Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true`s'il écoute, sinon `false`.

Syntaxe addListener
-------------------

### Paramètres

`callback`

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

`selectInfo`

`object`.


Objets supplémentaires
----------------------

### selectInfo

`windowId`

`integer`. La fenêtre dont les onglets ont changé.

`tabIds`

`array` d'`integer`. Tous les onglets en surbrillance dans la fenêtre.

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 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.
tabs.remove()
=============

Ferme un ou plusieurs onglets.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var removing = browser.tabs.remove(
  tabIds, // integer or integer array
);
```

### Paramètres

`tabIds`

`integer` or `array of integer`. Les identifiants de l'onglet ou des onglets à fermer.

### Valeur retournée

Une `Promise` qui sera remplie sans arguments lorsque tous les onglets spécifiés ont été supprimés ou que leurs invites `beforeunload` ont été traitées. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

Exemples
--------

Fermer un seul onglet :


```js
function onRemoved() {
  console.log(`Removed`);
}

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

var removing = browser.tabs.remove(2);
removing.then(onRemoved, onError);
```


Fermer plusieurs onglets :


```js
function onRemoved() {
  console.log(`Removed`);
}

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

var removing = browser.tabs.remove([15, 14, 1]);
removing.then(onRemoved, onError);
```

### Example extensions

* contextual-identities
* 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.
tabs.discard()
==============

Rejette un ou plusieurs onglets.

Certains navigateurs "suppriment" automatiquement les onglets dont ils ne pensent pas qu'ils seront bientôt utiles à l'utilisateur. L'onglet reste visible dans la bande d'onglets et le navigateur se souvient de son état, donc si l'utilisateur sélectionne un onglet qui a été supprimé, il est immédiatement restauré.

Les détails de ce qui est supprimé sont spécifiques au navigateur, mais en général, l'abandon d'un onglet permet au navigateur de libérer une partie de la mémoire occupée par cet onglet.

L'API `tabs.discard()` permet à une extension d'ignorer un ou plusieurs onglets. Il n'est pas possible de supprimer l'onglet actuellement actif ou un onglet dont le document contient un programme d'écoute `beforeunload` qui afficherait une invite.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var discarding = browser.tabs.discard(
  tabIds, // integer or integer array
);
```

### Paramètres

`tabIds`

`integer` or `array` of `integer`. Les ID de l'onglet ou des onglets à ignorer.

### Valeur retournée

Une `Promise` qui sera remplie sans argument lorsque tous les onglets spécifiés ont été supprimés. Si une erreur se produit (par exemple, ID d'onglet non valide), la promesse sera rejetée avec un message d'erreur.Si l'ID de l'onglet actif est transmis, il ne sera pas supprimé, mais la promesse sera satisfaite et tous les autres onglets transférés seront supprimés.

Exemples
--------

Supprimer un seul onglet :


```js
function onDiscarded() {
  console.log(`Discarded`);
}

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

var discarding = browser.tabs.discard(2);
discarding.then(onDiscarded, onError);
```


Ignorer plusieurs onglets :


```js
function onDiscarded() {
  console.log(`Discarded`);
}

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

var discarding = browser.tabs.discard([15, 14, 1]);
discarding.then(onDiscarded, onError);
```

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 Chromium `chrome.tabs`.
tabs.onRemoved
==============

Lancé quand un onglet est fermé.

Syntaxe
-------


```js
browser.tabs.onRemoved.addListener(callback);
browser.tabs.onRemoved.removeListener(listener);
browser.tabs.onRemoved.hasListener(listener);
```


Les événements ont trois fonctions :

`addListener(callback)`

Ajoute un écouteur à cet événement.

`removeListener(listener)`

Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer.

`hasListener(listener)`

Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`.

Syntaxe addListener
-------------------

### Paramètres

`callback`

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

`tabId`

`integer`. ID de l'onglet qui s'est fermé.


`removeInfo`

`object`. L'ID de la fenêtre de l'onglet et un booléen indiquant si la fenêtre est également fermée.


Objets supplémentaires
----------------------

### removeInfo

`windowId`

`integer`. La fenêtre dont l'onglet est fermé.

`isWindowClosing`

`boolean`. `true` si l'onglet est fermé car sa fenêtre est en cours de fermeture.

Exemples
--------

Écoutez les événements proches et consignez les informations :


```js
function handleRemoved(tabId, removeInfo) {
  console.log("Tab: " + tabId + " is closing");
  console.log("Window ID: " + removeInfo.windowId);
  console.log("Window is closing: " + removeInfo.isWindowClosing);
}

browser.tabs.onRemoved.addListener(handleRemoved);
```

### Example extensions

* 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 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.
tabs.connect()
==============

Appelez cette fonction pour configurer une connexion entre les scripts d'arrière-plan de l'extension (ou d'autres scripts privilégiés, tels que les scripts d'arrière-plan de l'extrension (ou d'autres scripts privilégiés, tels que les scripts de pages d'options) et les scripts de contenu appartenant à cette extension et s'exécutant dans l'onglet spécifié. Cette fonction renvoie un objet `runtime.Port`.

Lorsque cela est appelée, l'événement `runtime.onConnect` est déclenché dans tout script de contenu appartenant à cette extension qui s'exécute dans l'onglet spécifié. L'écouteur d'événement recevra un autre objet `runtime.Port`. Les deux parties peuvent ensuite utiliser les objets `Port` pour échanger des messages.

Pour plus de détails, voir connection-based messaging.

Syntaxe
-------


```js
browser.tabs.connect(
  tabId, // integer
  connectInfo, // optional object
);
```

### Parameters

`tabId`

`integer`. ID of the tab whose content scripts we want to connect to.

`connectInfo`Facultatif

`object`.

`name`Facultatif

`string`. Will be passed into `runtime.onConnect` event listeners in content scripts belonging to this extension and running in the specified tab.

`frameId`Facultatif

`integer`. Open a port to a specific frame identified by `frameId` instead of all frames in the tab.


### Return value

`runtime.Port`. A port that can be used to communicate with the content scripts running in the specified tab.

Examples
--------

In this example a background script listens for a click on a browser action, then connects to the currently active tab, then sends a message using the `Port` that's returned from `connect()`:


```js
function connectToTab(tabs) {
  if (tabs.length > 0) {
    var examplePort = browser.tabs.connect(tabs[0].id, {
      name: "tabs-connect-example",
    });
    examplePort.postMessage({ greeting: "Hi from background script" });
  }
}

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

browser.browserAction.onClicked.addListener(function () {
  var gettingActive = browser.tabs.query({
    currentWindow: true,
    active: true,
  });
  gettingActive.then(connectToTab, onError);
});
```

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 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.
tabs.sendRequest()
==================

**Attention :** Cette méthode a été dépréciée. Utilisez `tabs.sendMessage()` à la place.

Envoie une seule requête au(x) script(s) de contenu dans l'onglet spécifié, avec un rappel facultatif à exécuter lorsqu'une réponse est renvoyée. L'événement `extension.onRequest` est déclenché dans chaque script de contenu exécuté dans l'onglet spécifié pour l'extension en cours.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var sending = browser.tabs.sendRequest(
  tabId, // integer
  request, // any
);
```

### Paramètres

`tabId`

`integer`.

`request`

`any`.

### Valeur retournée

Une `Promise` qui sera remplie avec l'objet de réponse JSON envoyé par le gestionnaire du message dans le script de contenu, ou sans arguments si le script de contenu n'a pas envoyé de réponse. Si une erreur survient lors de la connexion à l'onglet spécifié ou si une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

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.