Interagissez avec le système de tabulation du navigateur.

Vous pouvez utiliser cette API pour obtenir une liste des onglets ouverts, filtrés par différents critères, et 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 JavaScript et CSS dans des onglets en utilisant les API  tabs.executeScript() ou tabs.insertCSS().

Vous pouvez utiliser la plupart de cette API sans aucune autorisation spéciale. Toutefois:

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

Types

tabs.MutedInfoReason
Spécifie la raison pour laquelle un onglet a été désactivé ou non.
tabs.MutedInfo
Cet objet contient un booléen indiquant si l'onglet est coupé et la raison de la dernière modification de l'état.
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 la page de l'origine ou ne prendront effet que dans cet onglet.
tabs.ZoomSettings
Définit les configurations de zoom mode, scope, et 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 les onglets du navigateur (par exemple, les onglets dans les fenêtres devtools).

Fonctions

tabs.connect()
Définit une connexion de messagerie entre les scripts d'arrière-plan du module complémentaire (ou d'autres scripts privilégiés, tels que les scripts contextuels 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.captureVisibleTab()
Crée un URI de données codant une image de la zone visible de l'onglet actuellement actif dans le fenêtre spcifiée.
tabs.detectLanguage()
Détecte la langue principale du contenu dans un onglet.
tabs.duplicate()
Duplique un onglet.
tabs.executeScript()
Injecte du code JavaScript dans une page.
tabs.get()
Récupère des détails sur l'onglet spécifié.
tabs.getAllInWindow()
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()
Obtient l'onglet sélectionné dans la fenêtre spécifiée.
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.highlight()
Met en évidence un ou plusieurs onglets..
tabs.insertCSS()
Injecte CSS dans une page.
tabs.removeCSS()
Supprime d'une page CSS qui a été précédemment injectée en appelant tabs.insertCSS().
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.query()
Obtient tous les onglets qui ont les propriétés spécifiées, ou tous les onglets si aucune propriété n'est spécifiée.
tabs.reload()
Rechargez un onglet, en contournant éventuellement le cache Web local.
tabs.remove()
Ferme un ou plusieurs onglets.
tabs.sendMessage()
Envoie un seul message au (x) script (s) de contenu dans l'onglet spécifié.
tabs.sendRequest()
Envoie une seule requête au(x) script(s) de contenu dans l'onglet spécifié. Déconseillé : 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.toggleReaderMode()
Bascule en mode Lecteur pour l'onglet spécifié.
tabs.update()
Parcourez l'onglet vers une nouvelle URL ou modifiez d'autres propriétés de l'onglet.

Evénements

tabs.onActivated
Se déclenche 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é déclenché.
tabs.onActiveChanged
Se déclenche lorsque l'onglet sélectionné dans une fenêtre change. Déconseillé : utilisez  tabs.onActivated à la place.
tabs.onAttached
Lancé lorsqu'un onglet est attaché à une fenêtre, par exemple parce qu'il a été déplacé entre les fenêtres..
tabs.onCreated
Lancé 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é déclenché.
tabs.onDetached
Lancé lorsqu'un onglet est détaché d'une fenêtre, par exemple parce qu'il est déplacé entre des fenêtres.
tabs.onHighlightChanged
Lancé lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent. Déconseillé : utilisez tabs.onHighlighted à la place.
tabs.onHighlighted
Lancé lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent.
tabs.onMoved
Lancé lorsqu'un onglet est déplacé dans une fenêtre.
tabs.onRemoved
Lancé lorsqu'un onglet est fermé.
tabs.onReplaced
Lancé lorsqu'un onglet est remplacé par un autre onglet en raison d'un prérendering.
tabs.onSelectionChanged
Se déclenche lorsque l'onglet sélectionné dans une fenêtre change. Déconseillé : utilisez tabs.onActivated à la place.
tabs.onUpdated
Lancé lorsqu'un onglet est mis à jour.
tabs.onZoomChange
Envoyé lorsqu'un onglet est agrandi.

Compatibilité du navigateur

ChromeEdgeFirefoxFirefox for AndroidOpera
MutedInfo (Oui) Non47 Non (Oui)
MutedInfoReason (Oui) Non47 Non (Oui)
PageSettings Non Non56 Non Non
TAB_ID_NONE (Oui) (Oui)4554 (Oui)
TabStatus (Oui) (Oui)4554 (Oui)
WindowType (Oui) (Oui)4554 (Oui)
ZoomSettings (Oui) Non45 Non (Oui)
ZoomSettingsMode (Oui) Non45 Non (Oui)
ZoomSettingsScope (Oui) Non45 Non (Oui)
captureVisibleTab (Oui) *154754 (Oui) *
connect (Oui) Non4554 (Oui)
create (Oui) (Oui)4554 (Oui)
detectLanguage (Oui) (Oui)45 Non (Oui)
duplicate (Oui) Non4754 (Oui)
executeScript (Oui) * (Oui) *43 *54 * (Oui) *
get (Oui) (Oui)4554 (Oui)
getAllInWindow (Oui) Non4554 Non
getCurrent (Oui) (Oui)4554 (Oui)
getSelected (Oui) Non Non Non Non
getZoom (Oui) Non45 Non (Oui)
getZoomSettings (Oui) Non45 Non (Oui)
highlight (Oui) Non Non Non Non
insertCSS (Oui) * (Oui) *47 *54 * (Oui) *
move (Oui) Non46 Non (Oui)
onActivated (Oui) (Oui)4554 (Oui)
onActiveChanged (Oui) Non Non Non Non
onAttached (Oui)154554 (Oui)
onCreated (Oui) (Oui)4554 (Oui)
onDetached (Oui)154554 (Oui)
onHighlightChanged (Oui) Non Non Non Non
onHighlighted (Oui) Non4554 Non
onMoved (Oui) Non45 Non (Oui)
onRemoved (Oui) (Oui)4554 (Oui)
onReplaced (Oui) Non45 *54 * (Oui)
onSelectionChanged (Oui) Non Non Non Non
onUpdated (Oui) (Oui)4554 (Oui)
onZoomChange (Oui) Non45 Non (Oui)
print Non Non56 Non Non
printPreview Non Non56 Non Non
query (Oui) (Oui) *4554 (Oui)
reload (Oui) Non4554 (Oui)
remove (Oui) (Oui)4554 (Oui)
removeCSS Non Non4954 Non
saveAsPDF Non Non56 * Non Non
sendMessage (Oui) (Oui) *4554 (Oui)
sendRequest (Oui) Non Non Non Non
setZoom (Oui) Non45 Non (Oui)
setZoomSettings (Oui) Non45 Non (Oui)
update (Oui) (Oui)4554 (Oui)

Incompatibilités de Edge

Les promises ne sont pas prises en charge dans Edge. Utilisez les rappels à la place.

Chrome incompatibilities

tabs

  • In Firefox, relative URLs passed into tabs.executeScript() or tabs.insertCSS() are resolved relative to the current page URL. In Chrome, these URLs are resolved relative to the extension's base URL. To work cross-browser, you can specify the path as an absolute URL, starting at the extension's root, like this:

    /path/to/script.js
  • In Firefox, querying tabs by URL with tabs.query() requires "tabs" permission. In Chrome, it's possible without the "tabs" permission but will limit results to tabs whose URLs match host permissions.
  • In Firefox, the tabs.remove() promise is fulfilled after the beforeunload event while in Chrome the callback does not wait for beforeunload.

Example extensions

Remerciements :

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.

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : hellosct1, Ostefanini, Sheppy
 Dernière mise à jour par : hellosct1,