chrome.tabs

Description

Utilisez l'API chrome.tabs pour interagir avec le système d'onglets du navigateur. Vous pouvez utiliser cette API pour créer, modifier et réorganiser les onglets du navigateur.

L'API Tabs propose des fonctionnalités permettant de manipuler et de gérer les onglets, mais elle peut également détecter la langue de l'onglet, prendre une capture d'écran et communiquer avec les scripts de contenu d'un onglet.

Autorisations

La plupart des fonctionnalités ne nécessitent aucune autorisation. Par exemple, créer un onglet, actualiser un onglet, accéder à une autre URL, etc.

Les développeurs doivent connaître trois autorisations lorsqu'ils utilisent l'API Tabs.

Autorisation "tabs"

Cette autorisation ne donne pas accès à l'espace de noms chrome.tabs. Au lieu de cela, il permet à une extension d'appeler tabs.query() sur quatre propriétés sensibles des instances tabs.Tab : url, pendingUrl, title et favIconUrl.

{   "name": "My extension",   ...   "permissions": [     "tabs"   ],   ... } 
Autorisations de l'organisateur

Les autorisations d'hôte permettent à une extension de lire et d'interroger les quatre propriétés sensibles tabs.Tab d'un onglet correspondant. Ils peuvent également interagir directement avec les onglets correspondants à l'aide de méthodes telles que tabs.captureVisibleTab(), scripting.executeScript(), scripting.insertCSS() et scripting.removeCSS().

{   "name": "My extension",   ...   "host_permissions": [     "http://*/*",     "https://*/*"   ],   ... } 
Autorisation "activeTab"

activeTab accorde à une extension une autorisation d'hôte temporaire pour l'onglet actuel en réponse à une invocation de l'utilisateur. Contrairement aux autorisations d'hôte, activeTab ne déclenche aucun avertissement.

{   "name": "My extension",   ...   "permissions": [     "activeTab"   ],   ... } 

Cas d'utilisation

Les sections suivantes présentent quelques cas d'utilisation courants.

Ouvrir la page d'une extension dans un nouvel onglet

Un schéma courant pour les extensions consiste à ouvrir une page d'intégration dans un nouvel onglet lorsque l'extension est installée. L'exemple suivant montre comment procéder.

background.js:

chrome.runtime.onInstalled.addListener(({reason}) => {   if (reason === 'install') {     chrome.tabs.create({       url: "onboarding.html"     });   } }); 

Obtenir l'onglet actuel

Cet exemple montre comment le service worker d'une extension peut récupérer l'onglet actif à partir de la fenêtre actuellement sélectionnée (ou de la fenêtre sélectionnée le plus récemment, si aucune fenêtre Chrome n'est sélectionnée). Il s'agit généralement de l'onglet actuel de l'utilisateur.

  async function getCurrentTab() {     let queryOptions = { active: true, lastFocusedWindow: true };     // `tab` will either be a `tabs.Tab` instance or `undefined`.     let [tab] = await chrome.tabs.query(queryOptions);     return tab;   } 

  function getCurrentTab(callback) {     let queryOptions = { active: true, lastFocusedWindow: true };     chrome.tabs.query(queryOptions, ([tab]) => {       if (chrome.runtime.lastError)       console.error(chrome.runtime.lastError);       // `tab` will either be a `tabs.Tab` instance or `undefined`.       callback(tab);     });   } 

Couper le son de l'onglet spécifié

Cet exemple montre comment une extension peut activer ou désactiver le son d'un onglet donné.

  async function toggleMuteState(tabId) {     const tab = await chrome.tabs.get(tabId);     const muted = !tab.mutedInfo.muted;     await chrome.tabs.update(tabId, {muted});     console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);   } 

  function toggleMuteState(tabId) {     chrome.tabs.get(tabId, async (tab) => {       let muted = !tab.mutedInfo.muted;       await chrome.tabs.update(tabId, { muted });       console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);     });   } 

Déplacer l'onglet actuel à la première position lorsque l'utilisateur clique dessus

Cet exemple montre comment déplacer un onglet, qu'un déplacement soit en cours ou non. Bien que cet exemple utilise chrome.tabs.move, vous pouvez utiliser le même modèle d'attente pour d'autres appels qui modifient les onglets pendant qu'un déplacement est en cours.

  chrome.tabs.onActivated.addListener(moveToFirstPosition);    async function moveToFirstPosition(activeInfo) {     try {       await chrome.tabs.move(activeInfo.tabId, {index: 0});       console.log("Success.");     } catch (error) {       if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {         setTimeout(() => moveToFirstPosition(activeInfo), 50);       } else {         console.error(error);       }     }   } 

  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);    function moveToFirstPositionMV2(activeInfo) {     chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {       if (chrome.runtime.lastError) {         const error = chrome.runtime.lastError;         if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {           setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);         } else {           console.error(error);         }       } else {         console.log("Success.");       }     });   } 

Transmettre un message au script de contenu d'un onglet sélectionné

Cet exemple montre comment le service worker d'une extension peut communiquer avec des scripts de contenu dans des onglets de navigateur spécifiques à l'aide de tabs.sendMessage().

function sendMessageToActiveTab(message) {   const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });   const response = await chrome.tabs.sendMessage(tab.id, message);   // TODO: Do something with the response. } 

Exemples d'extensions

Pour découvrir d'autres démonstrations d'extensions de l'API Tabs, explorez les éléments suivants :

Types

MutedInfo

Chrome 46 et versions ultérieures

État de mise en sourdine de l'onglet et raison du dernier changement d'état.

Propriétés

  • extensionId

    chaîne facultative

    ID de l'extension qui a modifié l'état de mise en sourdine. Non défini si une extension n'est pas la raison pour laquelle l'état de mise en sourdine a été modifié pour la dernière fois.

  • son coupé

    booléen

    Indique si l'onglet est mis en sourdine (empêché de lire du son). L'onglet peut être mis en sourdine même s'il n'a pas diffusé de son ou n'en diffuse pas actuellement. Équivaut à l'affichage ou non de l'indicateur audio "désactivé".

  • reason

    MutedInfoReason facultatif

    Raison pour laquelle l'onglet a été mis en sourdine ou réactivé. Non défini si l'état de désactivation du son de l'onglet n'a jamais été modifié.

MutedInfoReason

Chrome 46 et versions ultérieures

Événement ayant entraîné un changement d'état de mise en sourdine.

Énumération

"user"
Une action d'entrée utilisateur a défini l'état de mise en sourdine.

"capture"
La capture d'onglet a commencé, ce qui a forcé le changement d'état de la mise en sourdine.

"extension"
Une extension, identifiée par le champ extensionId, a défini l'état de mise en sourdine.

Tab

Propriétés

  • actif

    booléen

    Indique si l'onglet est actif dans sa fenêtre. Cela ne signifie pas nécessairement que la fenêtre est sélectionnée.

  • audible

    booléen facultatif

    Chrome 45 et versions ultérieures

    Indique si l'onglet a émis du son au cours des dernières secondes (mais il est possible qu'il ne soit pas audible s'il est également mis en sourdine). Équivaut à l'affichage ou non de l'indicateur "Son du haut-parleur".

  • autoDiscardable

    booléen

    Chrome 54 et versions ultérieures

    Indique si l'onglet peut être supprimé automatiquement par le navigateur lorsque les ressources sont faibles.

  • avez supprimé

    booléen

    Chrome 54 et versions ultérieures

    Indique si l'onglet est supprimé. Un onglet abandonné est un onglet dont le contenu a été déchargé de la mémoire, mais qui reste visible dans la barre d'onglets. Son contenu est rechargé la prochaine fois qu'il est activé.

  • favIconUrl

    chaîne facultative

    URL du favicon de l'onglet. Cette propriété n'est présente que si l'extension dispose de l'autorisation "tabs" ou d'autorisations d'hôte pour la page. Il peut également s'agir d'une chaîne vide si l'onglet est en cours de chargement.

  • figé

    booléen

    Chrome 132 et versions ultérieures

    Indique si l'onglet est figé. Un onglet figé ne peut pas exécuter de tâches, y compris des gestionnaires d'événements ou des minuteurs. Il est visible dans la barre d'onglets et son contenu est chargé en mémoire. Il est dégelé lors de l'activation.

  • groupId

    Total

    Chrome 88 et versions ultérieures

    ID du groupe auquel appartient l'onglet.

  • hauteur

    number facultatif

    Hauteur de l'onglet en pixels.

  • en surbrillance

    booléen

    Indique si l'onglet est mis en surbrillance.

  • id

    number facultatif

    ID de l'onglet. Les ID d'onglet sont uniques dans une session de navigateur. Dans certains cas, un onglet peut ne pas se voir attribuer d'ID. Par exemple, lors de l'interrogation d'onglets étrangers à l'aide de l'API sessions, un ID de session peut être présent. L'ID d'onglet peut également être défini sur chrome.tabs.TAB_ID_NONE pour les applications et les fenêtres d'outils de développement.

  • navigation privée

    booléen

    Indique si l'onglet se trouve dans une fenêtre de navigation privée.

  • index

    Total

    Index basé sur zéro de l'onglet dans sa fenêtre.

  • lastAccessed

    Total

    Chrome 121 et versions ultérieures

    Dernière fois que l'onglet est devenu actif dans sa fenêtre, en nombre de millisecondes depuis l'epoch.

  • mutedInfo

    MutedInfo facultatif

    Chrome 46 et versions ultérieures

    État de mise en sourdine de l'onglet et raison du dernier changement d'état.

  • openerTabId

    number facultatif

    ID de l'onglet qui a ouvert cet onglet, le cas échéant. Cette propriété n'est présente que si l'onglet d'origine existe toujours.

  • pendingUrl

    chaîne facultative

    Chrome 79 et versions ultérieures

    URL vers laquelle l'onglet est en cours de navigation, avant son engagement. Cette propriété n'est présente que si l'extension dispose de l'autorisation "tabs" ou d'autorisations d'hôte pour la page et qu'une navigation est en attente.

  • épinglé

    booléen

    Indique si l'onglet est épinglé.

  • sélectionné

    booléen

    Obsolète

    Veuillez utiliser tabs.Tab.highlighted.

    Indique si l'onglet est sélectionné.

  • sessionId

    chaîne facultative

    ID de session utilisé pour identifier de manière unique un onglet obtenu à partir de l'API sessions.

  • état

    TabStatus facultatif

    État de chargement de l'onglet.

  • titre

    chaîne facultative

    Titre de l'onglet. Cette propriété n'est présente que si l'extension dispose de l'autorisation "tabs" ou d'autorisations d'hôte pour la page.

  • url

    chaîne facultative

    Dernière URL validée du frame principal de l'onglet. Cette propriété n'est présente que si l'extension dispose de l'autorisation "tabs" ou d'autorisations d'hôte pour la page. Peut être une chaîne vide si l'onglet n'a pas encore été validé. Voir aussi Tab.pendingUrl.

  • largeur

    number facultatif

    Largeur de l'onglet en pixels.

  • windowId

    Total

    ID de la fenêtre contenant l'onglet.

TabStatus

Chrome 44 et versions ultérieures

État de chargement de l'onglet.

Énumération

"unloaded"

"loading"

"complete"

WindowType

Chrome 44 et versions ultérieures

Type de fenêtre.

Énumération

"normal"

"popup"

"panel"

"app"

"devtools"

ZoomSettings

Définit la façon dont les changements de zoom dans un onglet sont gérés et à quelle portée.

Propriétés

  • defaultZoomFactor

    number facultatif

    Chrome 43 et versions ultérieures

    Utilisé pour renvoyer le niveau de zoom par défaut de l'onglet actuel dans les appels à tabs.getZoomSettings.

  • mode

    ZoomSettingsMode facultatif

    Définit la manière dont les modifications du zoom sont gérées, c'est-à-dire l'entité responsable de la mise à l'échelle réelle de la page. La valeur par défaut est automatic.

  • champ d'application

    ZoomSettingsScope facultatif

    Définit si les modifications du zoom persistent pour l'origine de la page ou ne prennent effet que dans cet onglet. La valeur par défaut est per-origin en mode automatic et per-tab dans les autres cas.

ZoomSettingsMode

Chrome 44 et versions ultérieures

Définit la manière dont les modifications du zoom sont gérées, c'est-à-dire l'entité responsable de la mise à l'échelle réelle de la page. La valeur par défaut est automatic.

Énumération

"automatic"
Les modifications du zoom sont gérées automatiquement par le navigateur.

"manual"
Remplace la gestion automatique des modifications du zoom. L'événement onZoomChange sera toujours distribué. Il incombe à l'extension d'écouter cet événement et de mettre à l'échelle la page manuellement. Ce mode n'est pas compatible avec le zoom per-origin. Il ignore donc le paramètre de zoom scope et suppose que la valeur est per-tab.

disabled
Désactive tout zoom dans l'onglet. L'onglet revient au niveau de zoom par défaut et toutes les tentatives de modification du zoom sont ignorées.

ZoomSettingsScope

Chrome 44 et versions ultérieures

Définit si les modifications du zoom persistent pour l'origine de la page ou ne prennent effet que dans cet onglet. La valeur par défaut est per-origin en mode automatic et per-tab dans les autres cas.

Énumération

Par origine
Les modifications du zoom sont conservées dans l'origine de la page zoomée. Autrement dit, tous les autres onglets accédant à cette même origine sont également zoomés. De plus, les modifications du zoom per-origin sont enregistrées avec l'origine. Cela signifie que lorsque vous accédez à d'autres pages de la même origine, elles sont toutes zoomées au même facteur de zoom. Le champ d'application per-origin n'est disponible qu'en mode automatic.

"Par onglet"
Les modifications du zoom ne prennent effet que dans cet onglet. Celles apportées dans d'autres onglets n'ont aucune incidence sur le zoom de cet onglet. De plus, les modifications du per-tab sont réinitialisées lors de la navigation. L'ouverture d'un onglet charge toujours les pages avec leurs facteurs de per-origin.

Propriétés

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92 et versions ultérieures

Nombre maximal d'appels de captureVisibleTab par seconde. captureVisibleTab est coûteux et ne doit pas être appelé trop souvent.

Valeur

2

TAB_ID_NONE

Chrome 46 et versions ultérieures

ID représentant l'absence d'onglet de navigateur.

Valeur

-1

TAB_INDEX_NONE

Chrome 123 et versions ultérieures

Index représentant l'absence d'index de tabulation dans une tab_strip.

Valeur

-1

Méthodes

captureVisibleTab()

chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
)
: Promise<string>

Capture la zone visible de l'onglet actuellement actif dans la fenêtre spécifiée. Pour appeler cette méthode, l'extension doit disposer de l'autorisation <all_urls> ou activeTab. En plus des sites auxquels les extensions peuvent normalement accéder, cette méthode permet aux extensions de capturer des sites sensibles qui sont autrement restreints, y compris les pages du schéma chrome:, les pages d'autres extensions et les URL data:. Ces sites sensibles ne peuvent être capturés qu'avec l'autorisation activeTab. Les URL de fichiers ne peuvent être capturées que si l'extension a obtenu l'accès aux fichiers.

Paramètres

Renvoie

  • Promise<string>

    Chrome 88 et versions ultérieures

connect()

chrome.tabs.connect(
  tabId: number,
  connectInfo?: object,
)
: runtime.Port

Se connecte aux scripts de contenu dans l'onglet spécifié. L'événement runtime.onConnect est déclenché dans chaque script de contenu s'exécutant dans l'onglet spécifié pour l'extension actuelle. Pour en savoir plus, consultez Messagerie des scripts de contenu.

Paramètres

  • tabId

    Total

  • connectInfo

    object facultatif

    • documentId

      chaîne facultative

      Chrome 106 et versions ultérieures

      Ouvrez un port vers un document spécifique identifié par documentId au lieu de toutes les frames de l'onglet.

    • frameId

      number facultatif

      Ouvrez un port vers un cadre spécifique identifié par frameId au lieu de tous les cadres de l'onglet.

    • nom

      chaîne facultative

      Est transmis à onConnect pour les scripts de contenu qui écoutent l'événement de connexion.

Renvoie

  • Port pouvant être utilisé pour communiquer avec les scripts de contenu s'exécutant dans l'onglet spécifié. L'événement runtime.Port du port est déclenché si l'onglet se ferme ou n'existe pas.

create()

chrome.tabs.create(
  createProperties: object,
)
: Promise<Tab>

Crée un onglet.

Paramètres

  • createProperties

    objet

    • actif

      booléen facultatif

      Indique si l'onglet doit devenir l'onglet actif de la fenêtre. N'a pas d'incidence sur le fait que la fenêtre soit sélectionnée ou non (voir windows.update). La valeur par défaut est true.

    • index

      number facultatif

      Position de l'onglet dans la fenêtre. La valeur fournie est limitée entre zéro et le nombre d'onglets de la fenêtre.

    • openerTabId

      number facultatif

      ID de l'onglet qui a ouvert cet onglet. Si elle est spécifiée, l'onglet d'ouverture doit se trouver dans la même fenêtre que l'onglet nouvellement créé.

    • épinglé

      booléen facultatif

      Indique si l'onglet doit être épinglé. La valeur par défaut est false.

    • sélectionné

      booléen facultatif

      Obsolète

      Veuillez utiliser active.

      Indique si l'onglet doit devenir l'onglet sélectionné dans la fenêtre. La valeur par défaut est true.

    • url

      chaîne facultative

      URL vers laquelle l'onglet doit être redirigé initialement. Les URL complètes doivent inclure un schéma (par exemple, "http://www.google.com", et non "www.google.com"). Les URL relatives sont relatives à la page actuelle de l'extension. Par défaut, il s'agit de la page "Nouvel onglet".

    • windowId

      number facultatif

      Fenêtre dans laquelle créer le nouvel onglet. La valeur par défaut est période actuelle.

Renvoie

  • Promise<Tab>

    Chrome 88 et versions ultérieures

detectLanguage()

chrome.tabs.detectLanguage(
  tabId?: number,
)
: Promise<string>

Détecte la langue principale du contenu d'un onglet.

Paramètres

Renvoie

  • Promise<string>

    Chrome 88 et versions ultérieures

discard()

Chrome 54 et versions ultérieures
chrome.tabs.discard(
  tabId?: number,
)
: Promise<Tab | undefined>

Supprime un onglet de la mémoire. Les onglets supprimés restent visibles dans la barre d'onglets et sont rechargés lorsqu'ils sont activés.

Paramètres

  • tabId

    number facultatif

    ID de l'onglet à supprimer. Si elle est spécifiée, l'onglet est supprimé, sauf s'il est actif ou déjà supprimé. Si cet élément n'est pas spécifié, le navigateur ferme l'onglet le moins important. Cette opération peut échouer si aucun onglet n'est supprimable.

Renvoie

  • Promise<Tab | undefined>

    Chrome 88 et versions ultérieures

duplicate()

chrome.tabs.duplicate(
  tabId: number,
)
: Promise<Tab | undefined>

Duplique un onglet.

Paramètres

  • tabId

    Total

    ID de l'onglet à dupliquer.

Renvoie

  • Promise<Tab | undefined>

    Chrome 88 et versions ultérieures

get()

chrome.tabs.get(
  tabId: number,
)
: Promise<Tab>

Récupère les détails de l'onglet spécifié.

Paramètres

  • tabId

    Total

Renvoie

  • Promise<Tab>

    Chrome 88 et versions ultérieures

getCurrent()

chrome.tabs.getCurrent(): Promise<Tab | undefined>

Récupère l'onglet à partir duquel cet appel de script est effectué. Renvoie undefined si l'appel est effectué à partir d'un contexte autre qu'un onglet (par exemple, une page d'arrière-plan ou une vue pop-up).

Renvoie

  • Promise<Tab | undefined>

    Chrome 88 et versions ultérieures

getZoom()

chrome.tabs.getZoom(
  tabId?: number,
)
: Promise<number>

Récupère le facteur de zoom actuel d'un onglet spécifié.

Paramètres

  • tabId

    number facultatif

    ID de l'onglet à partir duquel obtenir le facteur de zoom actuel. La valeur par défaut est l'onglet actif de la fenêtre actuelle.

Renvoie

  • Promise<number>

    Chrome 88 et versions ultérieures

getZoomSettings()

chrome.tabs.getZoomSettings(
  tabId?: number,
)
: Promise<ZoomSettings>

Obtient les paramètres de zoom actuels d'un onglet spécifié.

Paramètres

  • tabId

    number facultatif

    ID de l'onglet à partir duquel obtenir les paramètres de zoom actuels. Par défaut, il s'agit de l'onglet actif de la fenêtre actuelle.

Renvoie

goBack()

Chrome 72 et versions ultérieures
chrome.tabs.goBack(
  tabId?: number,
)
: Promise<void>

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

Paramètres

  • tabId

    number facultatif

    ID de l'onglet vers lequel revenir. Par défaut, il s'agit de l'onglet sélectionné de la fenêtre actuelle.

Renvoie

  • Promise<void>

    Chrome 88 et versions ultérieures

goForward()

Chrome 72 et versions ultérieures
chrome.tabs.goForward(
  tabId?: number,
)
: Promise<void>

Accéder à la page suivante, si elle est disponible.

Paramètres

  • tabId

    number facultatif

    ID de l'onglet vers lequel naviguer. Par défaut, il s'agit de l'onglet sélectionné de la fenêtre actuelle.

Renvoie

  • Promise<void>

    Chrome 88 et versions ultérieures

group()

Chrome 88 et versions ultérieures
chrome.tabs.group(
  options: object,
)
: Promise<number>

Ajoute un ou plusieurs onglets à un groupe spécifié ou, si aucun groupe n'est spécifié, ajoute les onglets donnés à un groupe nouvellement créé.

Paramètres

  • options

    objet

    • createProperties

      object facultatif

      Configurations permettant de créer un groupe. Ne peut pas être utilisé si groupId est déjà spécifié.

      • windowId

        number facultatif

        Fenêtre du nouveau groupe. La valeur par défaut est la fenêtre actuelle.

    • groupId

      number facultatif

      ID du groupe auquel ajouter les onglets. Si aucun n'est spécifié, un groupe sera créé.

    • tabIds

      number | [number, ...number[]]

      ID de l'onglet ou liste des ID d'onglet à ajouter au groupe spécifié.

Renvoie

  • Promise<number>

highlight()

chrome.tabs.highlight(
  highlightInfo: object,
)
: Promise<windows.Window>

Met en surbrillance les onglets indiqués et se concentre sur le premier du groupe. Ne fera rien si l'onglet spécifié est actuellement actif.

Paramètres

  • highlightInfo

    objet

    • onglets

      number | number[]

      Un ou plusieurs index d'onglet à mettre en évidence.

    • windowId

      number facultatif

      Fenêtre contenant les onglets.

Renvoie

move()

chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
)
: Promise<Tab | Tab[]>

Déplace un ou plusieurs onglets vers une nouvelle position dans leur fenêtre ou vers une nouvelle fenêtre. Notez que les onglets ne peuvent être déplacés que vers et depuis des fenêtres normales (window.type === "normal").

Paramètres

  • tabIds

    number | number[]

    ID ou liste d'ID des onglets à déplacer.

  • moveProperties

    objet

    • index

      Total

      Position vers laquelle déplacer la fenêtre. Utilisez -1 pour placer l'onglet à la fin de la fenêtre.

    • windowId

      number facultatif

      Par défaut, la fenêtre dans laquelle se trouve actuellement l'onglet.

Renvoie

  • Promise<Tab | Tab[]>

    Chrome 88 et versions ultérieures

query()

chrome.tabs.query(
  queryInfo: object,
)
: Promise<Tab[]>

Récupère tous les onglets qui possèdent les propriétés spécifiées, ou tous les onglets si aucune propriété n'est spécifiée.

Paramètres

  • queryInfo

    objet

    • actif

      booléen facultatif

      Indique si les onglets sont actifs dans leurs fenêtres.

    • audible

      booléen facultatif

      Chrome 45 et versions ultérieures

      Indique si les onglets sont audibles.

    • autoDiscardable

      booléen facultatif

      Chrome 54 et versions ultérieures

      Indique si les onglets peuvent être supprimés automatiquement par le navigateur lorsque les ressources sont faibles.

    • currentWindow

      booléen facultatif

      Indique si les onglets se trouvent dans la fenêtre actuelle.

    • avez supprimé

      booléen facultatif

      Chrome 54 et versions ultérieures

      Indique si les onglets sont supprimés. Un onglet abandonné est un onglet dont le contenu a été déchargé de la mémoire, mais qui reste visible dans la barre d'onglets. Son contenu est rechargé la prochaine fois qu'il est activé.

    • figé

      booléen facultatif

      Chrome 132 et versions ultérieures

      Indique si les onglets sont figés. Un onglet figé ne peut pas exécuter de tâches, y compris des gestionnaires d'événements ou des minuteurs. Il est visible dans la barre d'onglets et son contenu est chargé en mémoire. Il est dégelé lors de l'activation.

    • groupId

      number facultatif

      Chrome 88 et versions ultérieures

      ID du groupe auquel appartiennent les onglets ou tabGroups.TAB_GROUP_ID_NONE pour les onglets non regroupés.

    • en surbrillance

      booléen facultatif

      Indique si les onglets sont mis en surbrillance.

    • index

      number facultatif

      Position des onglets dans leurs fenêtres.

    • lastFocusedWindow

      booléen facultatif

      Indique si les onglets se trouvent dans la dernière fenêtre sélectionnée.

    • son coupé

      booléen facultatif

      Chrome 45 et versions ultérieures

      Indique si les onglets sont mis en sourdine.

    • épinglé

      booléen facultatif

      Indique si les onglets sont épinglés.

    • splitViewId

      number facultatif

      En attente

      ID de la vue fractionnée dans laquelle se trouvent les onglets, ou tabs.SPLIT_VIEW_ID_NONE pour les onglets qui ne se trouvent pas dans une vue fractionnée.

    • état

      TabStatus facultatif

      État de chargement de l'onglet.

    • titre

      chaîne facultative

      Faites correspondre les titres de page à un modèle. Cette propriété est ignorée si l'extension ne dispose pas de l'autorisation "tabs" ni des autorisations d'hôte pour la page.

    • url

      string | string[] facultatif

      Faites correspondre les onglets à un ou plusieurs formats d'URL. Les identifiants de fragment ne sont pas mis en correspondance. Cette propriété est ignorée si l'extension ne dispose pas de l'autorisation "tabs" ni des autorisations d'hôte pour la page.

    • windowId

      number facultatif

      ID de la fenêtre parente ou windows.WINDOW_ID_CURRENT pour la fenêtre actuelle.

    • windowType

      WindowType facultatif

      Type de fenêtre dans laquelle se trouvent les onglets.

Renvoie

  • Promise<Tab[]>

    Chrome 88 et versions ultérieures

reload()

chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
)
: Promise<void>

Actualisez un onglet.

Paramètres

  • tabId

    number facultatif

    ID de l'onglet à recharger. Par défaut, il s'agit de l'onglet sélectionné de la fenêtre actuelle.

  • reloadProperties

    object facultatif

    • bypassCache

      booléen facultatif

      Indique s'il faut contourner la mise en cache locale. La valeur par défaut est false.

Renvoie

  • Promise<void>

    Chrome 88 et versions ultérieures

remove()

chrome.tabs.remove(
  tabIds: number | number[],
)
: Promise<void>

Ferme un ou plusieurs onglets.

Paramètres

  • tabIds

    number | number[]

    ID ou liste d'ID des onglets à fermer.

Renvoie

  • Promise<void>

    Chrome 88 et versions ultérieures

sendMessage()

chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
)
: Promise<any>

Envoie un message unique aux scripts de contenu de l'onglet spécifié, avec un rappel facultatif à exécuter lorsqu'une réponse est renvoyée. L'événement runtime.onMessage est déclenché dans chaque script de contenu s'exécutant dans l'onglet spécifié pour l'extension actuelle.

Paramètres

  • tabId

    Total

  • message

    tous

    Message à envoyer. Ce message doit être un objet JSON-ifiable.

  • options

    object facultatif

    • documentId

      chaîne facultative

      Chrome 106 et versions ultérieures

      Envoyez un message à un document spécifique identifié par documentId au lieu de tous les cadres de l'onglet.

    • frameId

      number facultatif

      Envoyez un message à un cadre spécifique identifié par frameId au lieu de tous les cadres de l'onglet.

Renvoie

  • Promise<any>

    Chrome 99 et versions ultérieures

setZoom()

chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
)
: Promise<void>

Zoom sur un onglet spécifié.

Paramètres

  • tabId

    number facultatif

    ID de l'onglet à zoomer. Par défaut, il s'agit de l'onglet actif de la fenêtre actuelle.

  • zoomFactor

    Total

    Nouveau facteur de zoom. Une valeur de 0 définit le facteur de zoom par défaut actuel de l'onglet. Les valeurs supérieures à 0 spécifient un facteur de zoom (éventuellement non défini par défaut) pour l'onglet.

Renvoie

  • Promise<void>

    Chrome 88 et versions ultérieures

setZoomSettings()

chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
)
: Promise<void>

Définit les paramètres de zoom d'un onglet spécifié, qui définissent la façon dont les modifications du zoom sont gérées. Ces paramètres sont réinitialisés sur les valeurs par défaut lorsque vous accédez à l'onglet.

Paramètres

  • tabId

    number facultatif

    ID de l'onglet dont vous souhaitez modifier les paramètres de zoom. Par défaut, il s'agit de l'onglet actif de la fenêtre actuelle.

  • zoomSettings

    Définit la façon dont les changements de zoom sont gérés et leur portée.

Renvoie

  • Promise<void>

    Chrome 88 et versions ultérieures

ungroup()

Chrome 88 et versions ultérieures
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
)
: Promise<void>

Supprime un ou plusieurs onglets de leurs groupes respectifs. Si des groupes deviennent vides, ils sont supprimés.

Paramètres

  • tabIds

    number | [number, ...number[]]

    ID de l'onglet ou liste des ID d'onglets à supprimer de leurs groupes respectifs.

Renvoie

  • Promise<void>

update()

chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
)
: Promise<Tab | undefined>

Modifie les propriétés d'un onglet. Les propriétés non spécifiées dans updateProperties ne sont pas modifiées.

Paramètres

  • tabId

    number facultatif

    Par défaut, l'onglet sélectionné de la fenêtre actuelle est utilisé.

  • updateProperties

    objet

    • actif

      booléen facultatif

      Indique si l'onglet doit être actif. N'a pas d'incidence sur la sélection de la fenêtre (voir windows.update).

    • autoDiscardable

      booléen facultatif

      Chrome 54 et versions ultérieures

      Indique si l'onglet doit être supprimé automatiquement par le navigateur lorsque les ressources sont faibles.

    • en surbrillance

      booléen facultatif

      Ajoute ou supprime l'onglet de la sélection actuelle.

    • son coupé

      booléen facultatif

      Chrome 45 et versions ultérieures

      Indique si l'onglet doit être mis en sourdine.

    • openerTabId

      number facultatif

      ID de l'onglet qui a ouvert cet onglet. Si elle est spécifiée, l'onglet d'ouverture doit se trouver dans la même fenêtre que cet onglet.

    • épinglé

      booléen facultatif

      Indique si l'onglet doit être épinglé.

    • sélectionné

      booléen facultatif

      Obsolète

      Veuillez utiliser highlighted.

      Indique si l'onglet doit être sélectionné.

    • url

      chaîne facultative

      URL vers laquelle l'onglet doit être redirigé. Les URL JavaScript ne sont pas acceptées. Utilisez plutôt scripting.executeScript.

Renvoie

  • Promise<Tab | undefined>

    Chrome 88 et versions ultérieures

Événements

onActivated

chrome.tabs.onActivated.addListener(
  callback: function,
)

Déclenché lorsque l'onglet actif d'une fenêtre change. Notez que l'URL de l'onglet peut ne pas être définie au moment où cet événement est déclenché, mais vous pouvez écouter les événements onUpdated pour être averti lorsqu'une URL est définie.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (activeInfo: object) => void

    • activeInfo

      objet

      • tabId

        Total

        ID de l'onglet qui est devenu actif.

      • windowId

        Total

        ID de la fenêtre dans laquelle l'onglet actif a été modifié.

onAttached

chrome.tabs.onAttached.addListener(
  callback: function,
)

Événement déclenché lorsqu'un onglet est associé à une fenêtre, par exemple parce qu'il a été déplacé d'une fenêtre à une autre.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (tabId: number, attachInfo: object) => void

    • tabId

      Total

    • attachInfo

      objet

      • newPosition

        Total

      • newWindowId

        Total

onCreated

chrome.tabs.onCreated.addListener(
  callback: function,
)

Déclenché lorsqu'un onglet est créé. Notez que l'URL de l'onglet et l'appartenance à un groupe d'onglets peuvent ne pas être définies au moment où cet événement est déclenché. Toutefois, vous pouvez écouter les événements onUpdated pour être averti lorsqu'une URL est définie ou que l'onglet est ajouté à un groupe d'onglets.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (tab: Tab) => void

onDetached

chrome.tabs.onDetached.addListener(
  callback: function,
)

Événement déclenché lorsqu'un onglet est détaché d'une fenêtre, par exemple parce qu'il a été déplacé d'une fenêtre à une autre.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (tabId: number, detachInfo: object) => void

    • tabId

      Total

    • detachInfo

      objet

      • oldPosition

        Total

      • oldWindowId

        Total

onHighlighted

chrome.tabs.onHighlighted.addListener(
  callback: function,
)

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

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (highlightInfo: object) => void

    • highlightInfo

      objet

      • tabIds

        number[]

        Tous les onglets mis en surbrillance dans la fenêtre.

      • windowId

        Total

        Fenêtre dont les onglets ont été modifiés.

onMoved

chrome.tabs.onMoved.addListener(
  callback: function,
)

Déclenché lorsqu'un onglet est déplacé dans une fenêtre. Un seul événement de déplacement est déclenché, représentant l'onglet que l'utilisateur a directement déplacé. Les événements de déplacement ne sont pas déclenchés pour les autres onglets qui doivent se déplacer en réponse à l'onglet déplacé manuellement. Cet événement n'est pas déclenché lorsqu'un onglet est déplacé d'une fenêtre à une autre. Pour en savoir plus, consultez tabs.onDetached.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (tabId: number, moveInfo: object) => void

    • tabId

      Total

    • moveInfo

      objet

      • fromIndex

        Total

      • toIndex

        Total

      • windowId

        Total

onRemoved

chrome.tabs.onRemoved.addListener(
  callback: function,
)

Déclenché lorsqu'un onglet est fermé.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (tabId: number, removeInfo: object) => void

    • tabId

      Total

    • removeInfo

      objet

      • isWindowClosing

        booléen

        Vrai si l'onglet a été fermé parce que sa fenêtre parente a été fermée.

      • windowId

        Total

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

onReplaced

chrome.tabs.onReplaced.addListener(
  callback: function,
)

Événement déclenché lorsqu'un onglet est remplacé par un autre en raison du prérendu ou de l'instantané.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (addedTabId: number, removedTabId: number) => void

    • addedTabId

      Total

    • removedTabId

      Total

onUpdated

chrome.tabs.onUpdated.addListener(
  callback: function,
)

Déclenché lorsqu'un onglet est mis à jour.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      Total

    • changeInfo

      objet

      • audible

        booléen facultatif

        Chrome 45 et versions ultérieures

        Nouvel état audible de l'onglet.

      • autoDiscardable

        booléen facultatif

        Chrome 54 et versions ultérieures

        Nouvel état de l'onglet (peut être supprimé automatiquement ou non).

      • avez supprimé

        booléen facultatif

        Chrome 54 et versions ultérieures

        Nouvel état de l'onglet (supprimé).

      • favIconUrl

        chaîne facultative

        Nouvelle URL du favicon de l'onglet.

      • figé

        booléen facultatif

        Chrome 132 et versions ultérieures

        Nouvel état figé de l'onglet.

      • groupId

        number facultatif

        Chrome 88 et versions ultérieures

        Le nouveau groupe de l'onglet.

      • mutedInfo

        MutedInfo facultatif

        Chrome 46 et versions ultérieures

        Le nouvel état de la chaîne (désactivée ou non) et la raison de ce changement.

      • épinglé

        booléen facultatif

        Nouvel état d'épinglage de l'onglet.

      • splitViewId

        number facultatif

        En attente

        Nouvelle vue fractionnée de l'onglet.

      • état

        TabStatus facultatif

        État de chargement de l'onglet.

      • titre

        chaîne facultative

        Chrome 48 et versions ultérieures

        Nouveau titre de l'onglet.

      • url

        chaîne facultative

        URL de l'onglet s'il a changé.

    • tabulation

onZoomChange

chrome.tabs.onZoomChange.addListener(
  callback: function,
)

Déclenché lorsqu'un onglet est agrandi.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      objet

      • newZoomFactor

        Total

      • oldZoomFactor

        Total

      • tabId

        Total

      • zoomSettings