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'appelertabs.query()
sur quatre propriétés sensibles des instancestabs.Tab
:url
,pendingUrl
,title
etfavIconUrl
.{ "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 quetabs.captureVisibleTab()
,scripting.executeScript()
,scripting.insertCSS()
etscripting.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
É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
É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érieuresIndique 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érieuresIndique si l'onglet peut être supprimé automatiquement par le navigateur lorsque les ressources sont faibles.
- avez supprimé
booléen
Chrome 54 et versions ultérieuresIndique 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érieuresIndique 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érieuresID 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 surchrome.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érieuresDerniè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érieuresURL 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èteVeuillez 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 aussiTab.pendingUrl
. - largeur
number facultatif
Largeur de l'onglet en pixels.
- windowId
Total
ID de la fenêtre contenant l'onglet.
TabStatus
État de chargement de l'onglet.
Énumération
"unloaded"
"loading"
"complete"
WindowType
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érieuresUtilisé 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 modeautomatic
etper-tab
dans les autres cas.
ZoomSettingsMode
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
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
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
ID représentant l'absence d'onglet de navigateur.
Valeur
-1
TAB_INDEX_NONE
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
- windowId
number facultatif
La fenêtre cible. La valeur par défaut est période actuelle.
- options
ImageDetails facultatif
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érieuresOuvrez 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.
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 esttrue
. - 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èteVeuillez 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
- tabId
number facultatif
Par défaut, l'onglet actif de la fenêtre actuelle.
Renvoie
-
Promise<string>
Chrome 88 et versions ultérieures
discard()
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
Paramètres
- tabId
Total
ID de l'onglet à dupliquer.
Renvoie
-
Promise<Tab | undefined>
Chrome 88 et versions ultérieures
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
-
Promise<ZoomSettings>
Chrome 88 et versions ultérieures
goBack()
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.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.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
-
Promise<windows.Window>
Chrome 88 et versions ultérieures
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.
-
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érieuresIndique si les onglets sont audibles.
- autoDiscardable
booléen facultatif
Chrome 54 et versions ultérieuresIndique 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érieuresIndique 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érieuresIndique 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érieuresID 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érieuresIndique si les onglets sont mis en sourdine.
- épinglé
booléen facultatif
Indique si les onglets sont épinglés.
- splitViewId
number facultatif
En attenteID 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érieuresEnvoyez 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.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érieuresIndique 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érieuresIndique 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èteVeuillez 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
- tabulation
-
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érieuresNouvel état audible de l'onglet.
- autoDiscardable
booléen facultatif
Chrome 54 et versions ultérieuresNouvel état de l'onglet (peut être supprimé automatiquement ou non).
- avez supprimé
booléen facultatif
Chrome 54 et versions ultérieuresNouvel é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érieuresNouvel état figé de l'onglet.
- groupId
number facultatif
Chrome 88 et versions ultérieuresLe nouveau groupe de l'onglet.
- mutedInfo
MutedInfo facultatif
Chrome 46 et versions ultérieuresLe 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 attenteNouvelle vue fractionnée de l'onglet.
- état
TabStatus facultatif
État de chargement de l'onglet.
- titre
chaîne facultative
Chrome 48 et versions ultérieuresNouveau 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
-
-