tabs
====

Permet d'interagir avec le système d'onglets du navigateur.

Vous pouvez utiliser cette API pour obtenir une liste des onglets ouverts, filtrés par différents critères, ainsi que pour ouvrir, mettre à jour, déplacer, recharger et supprimer des onglets. Vous ne pouvez pas accéder directement au contenu hébergé par les onglets à l'aide de cette API, mais vous pouvez insérer du JavaScript et du CSS dans les onglets en utilisant les API `tabs.executeScript()` ou `tabs.insertCSS()`.

Vous pouvez utiliser la majeure partie de cette API sans autorisation spéciale. Toutefois :

* Pour accéder à `Tab.url`, `Tab.title` et `Tab.favIconUrl`, vous devez avoir la permission `"tabs"`.
    + Dans Firefox, cela signifie également que vous avez besoin de `"tabs"` pour `requête d'onglet` par URL.
* Pour utiliser `tabs.executeScript()` ou `tabs.insertCSS()`, vous devez avoir les permission d'hôte pour l'onglet.

Alternativement, vous pouvez obtenir ces autorisations temporairement, uniquement pour l'onglet actuellement actif et uniquement en réponse à une action explicite de l'utilisateur ou de l'utilisatrice, en demandant la permission `"activeTab"`.

De nombreuses opérations d'onglet utilisent un identifiant (`id`) d'onglet. Les `id` d'onglets sont seulement garantis uniques à un onglet durant une session de navigation. Si le navigateur est redémarré, il pourra recycler, et recyclera, les id d'onglets. Pour associer des informations à un onglet à travers les redémarrages du navigateur, utilisez `sessions.setTabValue()`.

Types
-----

`tabs.MutedInfoReason`

Spécifie la raison pour laquelle un onglet a été rendu silencieux ou à nouveau sonore.

`tabs.MutedInfo`

Cet objet contient un booléen indiquant si l'onglet est silencieux et la raison de la dernière modification de l'état.

`tabs.PageSettings`

Permet de contrôler le rendu d'un onglet au format PDF par la méthode `tabs.saveAsPDF()`.

`tabs.Tab`

Ce type contient des informations sur un onglet.

`tabs.TabStatus`

Indique si l'onglet a fini de charger.

`tabs.WindowType`

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

`tabs.ZoomSettingsMode`

Définit si les modifications de zoom sont traitées par le navigateur, par l'extension ou sont désactivées.

`tabs.ZoomSettingsScope`

Définit si les modifications de zoom persisteront pour l'origine de la page ou ne prendront effet que dans cet onglet.

`tabs.ZoomSettings`

Définit les paramètres de zoom `mode`, `scope`, et le facteur de zoom par défaut.

Propriétés
----------

`tabs.TAB_ID_NONE`

Une valeur d'id spéciale donnée aux onglets qui ne sont pas des onglets de navigation (par exemple, les onglets dans les fenêtres *devtools*).

Fonctions
---------

`tabs.captureTab()`

Crée un URI de données codant une image de la zone visible de l'onglet donné.

`tabs.captureVisibleTab()`

Crée un URI de données codant une image de la zone visible de l'onglet actuellement actif dans la fenêtre donnée.

`tabs.connect()`

Définit une connexion pour échanger des messages entre les scripts d'arrière-plan de l'extension (ou d'autres scripts privilégiés, tels que les scripts de popups ou les scripts de page d'options) et les scripts de contenu s'exécutant dans l'onglet spécifié.

`tabs.create()`

Crée un nouvel onglet.

`tabs.detectLanguage()`

Détecte la langue principale du contenu dans un onglet.

`tabs.discard()`

Évince un ou plusieurs onglets.

`tabs.duplicate()`

Duplique un onglet.

`tabs.executeScript()`

Injecte du code JavaScript dans une page.

`tabs.get()`

Obtient des détails sur l'onglet spécifié.

`tabs.getAllInWindow()` 
Obsolète

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

`tabs.getCurrent()`

Obtient des informations sur l'onglet dans lequel ce script s'exécute, en tant qu'objet `tabs.Tab`.

`tabs.getSelected()` 
Obsolète

Obtient l'onglet sélectionné dans la fenêtre spécifiée. **Deprecated: utilisez plutôt `tabs.query({active: true})`.**

`tabs.getZoom()`

Obtient le facteur de zoom actuel de l'onglet spécifié.

`tabs.getZoomSettings()`

Obtient les paramètres de zoom actuels pour l'onglet spécifié.

`tabs.goForward()`

Passez à la page suivante, si vous en avez une.

`tabs.goBack()`

Retour à la page précédente, si elle est disponible.

`tabs.hide()` 
Expérimental

Masque un ou plusieurs onglets.

`tabs.highlight()`

Met en évidence un ou plusieurs onglets.

`tabs.insertCSS()`

Injecte CSS dans une page.

`tabs.move()`

Déplace un ou plusieurs onglets vers une nouvelle position dans la même fenêtre ou vers une autre fenêtre.

`tabs.moveInSuccession()`

Modifie la relation de succession pour un groupe d'onglets.

`tabs.print()`

Imprime le contenu de l'onglet actif.

`tabs.printPreview()`

Ouvre l'aperçu avant impression pour l'onglet actif.

`tabs.query()`

Obtient tous les onglets ayant les propriétés spécifiées, ou tous les onglets si aucune propriété n'est spécifiée.

`tabs.reload()`

Recharge un onglet, en contournant éventuellement le cache web local.

`tabs.remove()`

Ferme un ou plusieurs onglets.

`tabs.removeCSS()`

Supprime d'une page CSS qui a été précédemment injectée en appelant `tabs.insertCSS()`.

`tabs.saveAsPDF()`

Enregistre la page en cours au format PDF.

`tabs.sendMessage()`

Envoie un message unique au(x) script(s) de contenu dans l'onglet spécifié.

`tabs.sendRequest()` 
Obsolète

Envoie une requête unique au(x) script(s) de contenu dans l'onglet spécifié. **Déprécié :** utilisez `tabs.sendMessage()` à la place.

`tabs.setZoom()`

Effectue un zoom sur l'onglet spécifié.

`tabs.setZoomSettings()`

Définit les paramètres de zoom pour l'onglet spécifié.

`tabs.show()` 
Expérimental

Affiche un ou plusieurs onglets qui ont été `masqués`.

`tabs.toggleReaderMode()`

Bascule en mode lecture pour l'onglet spécifié.

`tabs.update()`

Charge une nouvelle URL dans l'onglet, ou modifie d'autres propriétés de l'onglet.

Évènements
----------

`tabs.onActivated`

Est émis lorsque l'onglet actif dans une fenêtre change. Notez que l'URL de l'onglet peut ne pas être définie au moment où cet évènement a été émis.

`tabs.onActiveChanged` 
Obsolète

Est émis lorsque l'onglet sélectionné dans une fenêtre change. **Déprécié :** utilisez `tabs.onActivated` à la place.

`tabs.onAttached`

Est émis lorsqu'un onglet est attaché à une fenêtre, par exemple parce qu'il a été déplacé entre différentes fenêtres.

`tabs.onCreated`

Est émis lorsqu'un onglet est créé. Notez que l'URL de l'onglet peut ne pas être définie au moment où cet évènement a été émis.

`tabs.onDetached`

Est émis lorsqu'un onglet est détaché d'une fenêtre, par exemple parce qu'il a été déplacé entre différentes fenêtres.

`tabs.onHighlightChanged` 
Obsolète

Est émis lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent. **Déprécié :** utilisez `tabs.onHighlighted` à la place.

`tabs.onHighlighted`

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

`tabs.onMoved`

Est émis lorsqu'un onglet est déplacé dans une fenêtre.

`tabs.onRemoved`

Est émis lorsqu'un onglet est fermé.

`tabs.onReplaced`

Est émis lorsqu'un onglet est remplacé par un autre onglet en raison d'un

*prerendering*

.

`tabs.onSelectionChanged` 
Obsolète

Est émis lorsque l'onglet sélectionné dans une fenêtre change. **Déprécié :** utilisez `tabs.onActivated` à la place.

`tabs.onUpdated`

Est émis lorsqu'un onglet est mis à jour.

`tabs.onZoomChange`

Est émis lorsque le zoom dans un onglet est changé.

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

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

Example extensions
------------------

* annotate-page
* apply-css
* beastify
* bookmark-it
* chill-out
* commands
* context-menu-copy-link-with-types
* contextual-identities
* cookie-bg-picker
* devtools-panels
* find-across-tabs
* firefox-code-search
* history-deleter
* imagify
* list-cookies
* menu-demo
* menu-labelled-open
* menu-remove-element
* open-my-page-button
* permissions
* session-state
* store-collected-images
* tabs-tabs-tabs

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