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 dans le navigateur.
L'API Tabs offre non seulement 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, recharger 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
browser.tabs. Au lieu de cela, elle permet à une extension d'appelertabs.query()sur quatre propriétés sensibles des instancestabs.Tab:url,pendingUrl,titleetfavIconUrl.{ "name": "My extension", ... "permissions": [ "tabs" ], ... }- Autorisations de l'hôte
Les autorisations d'hôte permettent à une extension de lire et d'interroger les quatre propriétés
tabs.Tabsensibles 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"
activeTabaccorde à une extension une autorisation d'hôte temporaire pour l'onglet actuel en réponse à un appel de l'utilisateur. Contrairement aux autorisations d'hôte,activeTabne déclenche aucun avertissement.{ "name": "My extension", ... "permissions": [ "activeTab" ], ... }
Cas d'utilisation
Les sections suivantes présentent quelques cas d'utilisation courants.
Ouvrir une page d'extension dans un nouvel onglet
Un modèle 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:
browser.runtime.onInstalled.addListener(({reason}) => {
if (reason === 'install') {
browser.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 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 browser.tabs.query(queryOptions);
return tab;
}
function getCurrentTab(callback) {
let queryOptions = { active: true, lastFocusedWindow: true };
browser.tabs.query(queryOptions, ([tab]) => {
if (browser.runtime.lastError)
console.error(browser.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 browser.tabs.get(tabId);
const muted = !tab.mutedInfo.muted;
await browser.tabs.update(tabId, {muted});
console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
}
function toggleMuteState(tabId) {
browser.tabs.get(tabId, async (tab) => {
let muted = !tab.mutedInfo.muted;
await browser.tabs.update(tabId, { muted });
console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
});
}
Déplacer l'onglet actuel vers la première position lorsque l'utilisateur clique dessus
Cet exemple montre comment déplacer un onglet, qu'un glissement soit en cours ou non. Bien que cet exemple utilise browser.tabs.move, vous pouvez utiliser le même modèle d'attente pour d'autres appels qui modifient les onglets pendant qu'un glissement est en cours.
browser.tabs.onActivated.addListener(moveToFirstPosition);
async function moveToFirstPosition(activeInfo) {
try {
await browser.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);
}
}
}
browser.tabs.onActivated.addListener(moveToFirstPositionMV2);
function moveToFirstPositionMV2(activeInfo) {
browser.tabs.move(activeInfo.tabId, { index: 0 }, () => {
if (browser.runtime.lastError) {
const error = browser.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 browser.tabs.query({ active: true, lastFocusedWindow: true });
const response = await browser.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, consultez l'une des ressources suivantes :
Types
MutedInfo
État de coupure du son de l'onglet et raison du dernier changement d'état.
Propriétés
-
extensionId
chaîne facultatif
ID de l'extension qui a modifié l'état de coupure du son. Non défini si une extension n'est pas à l'origine de la dernière modification de l'état de coupure du son.
-
son coupé
booléen
Indique si le son de l'onglet est coupé (empêche la lecture du son). Le son de l'onglet peut être coupé même s'il n'a pas diffusé ou ne diffuse pas de son actuellement. Équivaut à l'affichage de l'indicateur audio "coupé".
-
reason
MutedInfoReason facultatif
Raison pour laquelle le son de l'onglet a été coupé ou réactivé. Non défini si l'état de coupure du son de l'onglet n'a jamais été modifié.
MutedInfoReason
Événement ayant entraîné un changement d'état de coupure du son.
Énumération
"user"
Une action de saisie de l'utilisateur a défini l'état "coupé".
"capture"
La capture de l'onglet a commencé, ce qui a forcé un changement d'état de coupure du son.
"extension"
Une extension, identifiée par le champ extensionId, a défini l'état de coupure du son.
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
boolean facultatif
Chrome 45 ou version ultérieure browser.* depuis Chrome 148Indique si l'onglet a produit du son au cours des deux dernières secondes (mais il est possible qu'il ne soit pas entendu s'il est également coupé). Équivaut à l'affichage ou non de l'indicateur "audio du haut-parleur".
-
autoDiscardable
booléen
Chrome 54 ou version ultérieure browser.* depuis Chrome 148Indique si l'onglet peut être supprimé automatiquement par le navigateur lorsque les ressources sont faibles.
-
avez supprimé
booléen
Chrome 54 ou version ultérieure browser.* depuis Chrome 148Indique si l'onglet est supprimé. Un onglet supprimé est un onglet dont le contenu a été déchargé de la mémoire, mais qui est toujours visible dans la barre d'onglets. Son contenu est actualisé lors de sa prochaine activation.
-
favIconUrl
chaîne facultatif
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+ browser.* depuis Chrome 148Indique si l'onglet est figé. Un onglet figé ne peut pas exécuter de tâches, y compris les gestionnaires d'événements ou les minuteurs. Il est visible dans la bande d'onglets et son contenu est chargé en mémoire. Il est débloqué lors de l'activation.
-
groupId
nombre
Chrome 88+ browser.* depuis Chrome 148ID du groupe auquel appartient l'onglet.
-
height
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 au sein d'une session de navigateur. Dans certains cas, il est possible qu'aucun ID ne soit attribué à un onglet, par exemple lors de l'interrogation d'onglets étrangers à l'aide de l'API
sessions. Dans ce cas, un ID de session peut être présent. L'ID d'onglet peut également être défini surchrome.tabs.TAB_ID_NONEpour les applications et les fenêtres des outils de développement. -
navigation privée
booléen
Indique si l'onglet se trouve dans une fenêtre de navigation privée.
-
index
nombre
Index basé sur zéro de l'onglet dans sa fenêtre.
-
lastAccessed
nombre
Chrome 121+ browser.* depuis Chrome 148Dernière fois que l'onglet est devenu actif dans sa fenêtre, en millisecondes depuis l'epoch.
-
mutedInfo
MutedInfo facultatif
Chrome 46 ou version ultérieure browser.* depuis Chrome 148État de coupure du son 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'ouverture existe toujours.
-
pendingUrl
chaîne facultatif
Chrome 79 et versions ultérieures browser.* depuis Chrome 148URL vers laquelle l'onglet navigue, avant qu'il ne soit validé. 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 facultatif
ID de session permettant d'identifier de manière unique un onglet obtenu à partir de l'API
sessions. -
splitViewId
number facultatif
Chrome 140+ browser.* depuis Chrome 148ID de la vue fractionnée à laquelle appartient l'onglet.
-
état
TabStatus facultatif
État de chargement de l'onglet.
-
titre
chaîne facultatif
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 facultatif
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. Il peut s'agir d'une chaîne vide si l'onglet n'a pas encore été validé. Voir aussiTab.pendingUrl. -
width
number facultatif
Largeur de l'onglet en pixels.
-
windowId
nombre
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 manière dont les modifications du zoom dans un onglet sont gérées et à quel niveau.
Propriétés
-
defaultZoomFactor
number facultatif
Chrome 43 et versions ultérieures browser.* depuis Chrome 148Utilisé 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 niveau de zoom sont gérées, c'est-à-dire l'entité responsable de la mise à l'échelle de la page. La valeur par défaut est
automatic. -
champ d'application
ZoomSettingsScope facultatif
Définit si les modifications du zoom sont conservées pour l'origine de la page ou si elles ne s'appliquent qu'à cet onglet. La valeur par défaut est
per-originen modeautomatic, etper-tabdans les autres cas.
ZoomSettingsMode
Définit la manière dont les modifications du niveau de zoom sont gérées, c'est-à-dire l'entité responsable de la mise à l'échelle de la page. La valeur par défaut est automatic.
Énumération
"automatic"
Les modifications du niveau de zoom sont gérées automatiquement par le navigateur.
"manual"
Remplace la gestion automatique des changements de zoom. L'événement onZoomChange sera toujours distribué, et il incombe à l'extension d'écouter cet événement et de redimensionner manuellement la page. Ce mode n'est pas compatible avec le zoom per-origin. Il ignore donc le paramètre de zoom scope et suppose 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 sont conservées pour l'origine de la page ou si elles ne s'appliquent qu'à cet onglet. La valeur par défaut est per-origin en mode automatic, et per-tab dans les autres cas.
Énumération
"per-origin"
Les modifications du zoom sont conservées dans l'origine de la page zoomée, c'est-à-dire que 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, ce qui signifie que lorsque vous accédez à d'autres pages de la même origine, elles sont toutes zoomées avec le même facteur de zoom. Le champ d'application per-origin n'est disponible qu'en mode automatic.
"per-tab"
Les modifications du niveau de zoom ne prennent effet que dans cet onglet, et les modifications du niveau de zoom dans d'autres onglets n'affectent pas le niveau de zoom de cet onglet. De plus, les modifications du zoom per-tab sont réinitialisées lors de la navigation. La navigation dans un onglet charge toujours les pages avec leurs facteurs de zoom per-origin.
Propriétés
MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND
Nombre maximal de fois où captureVisibleTab peut être appelé par seconde. captureVisibleTab est coûteux et ne doit pas être appelé trop souvent.
Valeur
2
SPLIT_VIEW_ID_NONE
ID représentant l'absence d'onglet partagé.
Valeur
-1
TAB_ID_NONE
ID représentant l'absence d'un onglet de navigateur.
Valeur
-1
TAB_INDEX_NONE
Index représentant l'absence d'un index d'onglet dans une barre d'onglets.
Valeur
-1
Méthodes
captureVisibleTab()
browser.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 normalement 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 été autorisée à accéder aux fichiers.
Paramètres
-
windowId
number facultatif
La fenêtre cible. La valeur par défaut est la fenêtre actuelle.
-
options
ImageDetails facultatif
Renvoie
-
Promise<string>
Chrome 88+ browser.* depuis Chrome 148
connect()
browser.tabs.connect(
tabId: number,
connectInfo?: object,
): runtime.Port
Se connecte aux scripts de contenu de l'onglet spécifié. L'événement runtime.onConnect est déclenché dans chaque script de contenu exécuté dans l'onglet spécifié pour l'extension actuelle. Pour en savoir plus, consultez Messagerie de script de contenu.
Paramètres
-
tabId
nombre
-
connectInfo
objet facultatif
-
documentId
chaîne facultatif
Chrome 106 et versions ultérieures browser.* depuis Chrome 148Ouvre un port vers un document spécifique identifié par
documentIdau lieu de tous les cadres de l'onglet. -
frameId
number facultatif
Ouvrez un port vers un frame spécifique identifié par
frameIdau lieu de tous les frames de l'onglet. -
nom
chaîne facultatif
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 exécutés dans l'onglet spécifié. L'événement
runtime.Portdu port est déclenché si l'onglet se ferme ou n'existe pas.
Paramètres
-
createProperties
objet
-
actif
boolean facultatif
Indique si l'onglet doit devenir l'onglet actif de la fenêtre. N'affecte pas la sélection de la fenêtre (voir
windows.update). La valeur par défaut esttrue. -
index
number facultatif
Position que l'onglet doit prendre dans la fenêtre. La valeur fournie est limitée à une valeur comprise entre zéro et le nombre d'onglets dans la fenêtre.
-
openerTabId
number facultatif
ID de l'onglet qui a ouvert cet onglet. S'il est spécifié, l'onglet d'ouverture doit se trouver dans la même fenêtre que l'onglet nouvellement créé.
-
épinglé
boolean facultatif
Indique si l'onglet doit être épinglé. La valeur par défaut est
false. -
sélectionné
boolean 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. -
splitWithTabId
number facultatif
Chrome 155 ou version ultérieureID d'un onglet existant avec lequel créer une vue fractionnée. S'il est spécifié, l'onglet de fractionnement doit remplir les conditions suivantes :
- Il ne doit pas s'agir d'un onglet déjà scindé.
- Il doit se trouver dans la même fenêtre que l'onglet que vous venez de créer.
- Si
windowIdest spécifié, il doit être identique à l'ID de la fenêtre de l'onglet de division. - Si
indexest spécifié, il doit s'agir d'un index adjacent à l'onglet de division et il affectera l'emplacement relatif de l'onglet nouvellement créé.
-
url
chaîne facultatif
URL vers laquelle l'onglet doit initialement naviguer. 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 dans l'extension. La page "Nouvel onglet" est définie par défaut.
-
windowId
number facultatif
Fenêtre dans laquelle créer l'onglet. La valeur par défaut est la fenêtre actuelle.
-
Renvoie
-
Promise<Tab>
Chrome 88+ browser.* depuis Chrome 148
createSplit()
browser.tabs.createSplit(
tabIds: [number, number],
): Promise<number>
Divise deux onglets existants en une vue fractionnée.
Paramètres
-
tabIds
[number, number]
Un tableau contenant exactement deux ID d'onglets à associer dans une vue fractionnée. Tous les onglets doivent remplir les conditions suivantes :
Ils doivent être adjacents. Elles ne doivent pas déjà être en vue fractionnée. Ils doivent avoir des états
windowId,pinnedetgroupIdcorrespondants.
Renvoie
-
Promise<number>
detectLanguage()
browser.tabs.detectLanguage(
tabId?: number,
): Promise<string>
Détecte la langue principale du contenu d'un onglet.
Paramètres
-
tabId
number facultatif
La valeur par défaut est l'onglet actif de la fenêtre actuelle.
Renvoie
-
Promise<string>
Chrome 88+ browser.* depuis Chrome 148
discard()
browser.tabs.discard(
tabId?: number,
): Promise<Tab | undefined>
Supprime un onglet de la mémoire. Les onglets supprimés restent visibles dans la bande d'onglets et sont actualisés lorsqu'ils sont activés.
Paramètres
-
tabId
number facultatif
ID de l'onglet à supprimer. Si cette option est spécifiée, l'onglet est supprimé, sauf s'il est actif ou s'il a déjà été supprimé. Si cette option est omise, le navigateur supprime l'onglet le moins important. Cette opération peut échouer si aucun onglet supprimable n'existe.
Renvoie
-
Promise<Tab | undefined>
Chrome 88+ browser.* depuis Chrome 148Se résout une fois l'opération terminée.
Paramètres
-
tabId
nombre
ID de l'onglet à dupliquer.
Renvoie
-
Promise<Tab | undefined>
Chrome 88+ browser.* depuis Chrome 148
Paramètres
-
tabId
nombre
Renvoie
-
Promise<Tab>
Chrome 88+ browser.* depuis Chrome 148
getCurrent()
browser.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é depuis 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+ browser.* depuis Chrome 148
getZoom()
browser.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. Par défaut, il s'agit de l'onglet actif de la fenêtre actuelle.
Renvoie
-
Promise<number>
Chrome 88+ browser.* depuis Chrome 148Se résout avec le facteur de zoom actuel de l'onglet après sa récupération.
getZoomSettings()
browser.tabs.getZoomSettings(
tabId?: number,
): Promise<ZoomSettings>
Récupère 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. La valeur par défaut est l'onglet actif de la fenêtre actuelle.
Renvoie
-
Promise<ZoomSettings>
Chrome 88+ browser.* depuis Chrome 148Se résout avec les paramètres de zoom actuels de l'onglet.
goBack()
browser.tabs.goBack(
tabId?: number,
): Promise<void>
Revenir à la page précédente, si elle est disponible.
Paramètres
-
tabId
number facultatif
ID de l'onglet auquel revenir. Par défaut, il s'agit de l'onglet sélectionné de la fenêtre actuelle.
Renvoie
-
Promise<void>
Chrome 88+ browser.* depuis Chrome 148
goForward()
browser.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+ browser.* depuis Chrome 148
group()
browser.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
objet facultatif
Configurations pour 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 vous n'en spécifiez aucun, un groupe sera créé.
-
tabIds
number | [number, ...number[]]
ID de l'onglet ou liste des ID d'onglets à ajouter au groupe spécifié.
-
Renvoie
-
Promise<number>
highlight()
browser.tabs.highlight(
highlightInfo: object,
): Promise<windows.Window>
Met en surbrillance les onglets indiqués et sélectionne le premier du groupe. Semble n'avoir aucun effet si l'onglet spécifié est actuellement actif.
Paramètres
-
highlightInfo
objet
-
tabs
number | number[]
Un ou plusieurs indices d'onglets à mettre en surbrillance.
-
windowId
number facultatif
Fenêtre contenant les onglets.
-
Renvoie
-
Promise<windows.Window>
Chrome 88+ browser.* depuis Chrome 148
move()
browser.tabs.move(
tabIds: number | number[],
moveProperties: object,
): Promise<Tab | Tab[]>
Déplace un ou plusieurs onglets vers une nouvelle position dans sa 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 de l'onglet ou liste des ID des onglets à déplacer.
-
moveProperties
objet
-
index
nombre
Position vers laquelle déplacer la fenêtre. Utilisez
-1pour placer l'onglet à la fin de la fenêtre. -
windowId
number facultatif
La valeur par défaut est la fenêtre dans laquelle l'onglet se trouve actuellement.
-
query()
browser.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
boolean facultatif
Indique si les onglets sont actifs dans leurs fenêtres.
-
audible
boolean facultatif
Chrome 45 ou version ultérieure browser.* depuis Chrome 148Indique si les onglets sont audibles.
-
autoDiscardable
boolean facultatif
Chrome 54 ou version ultérieure browser.* depuis Chrome 148Indique si les onglets peuvent être supprimés automatiquement par le navigateur lorsque les ressources sont faibles.
-
currentWindow
boolean facultatif
Indique si les onglets se trouvent dans la fenêtre actuelle.
-
avez supprimé
boolean facultatif
Chrome 54 ou version ultérieure browser.* depuis Chrome 148Indique si les onglets sont supprimés. Un onglet supprimé est un onglet dont le contenu a été déchargé de la mémoire, mais qui est toujours visible dans la barre d'onglets. Son contenu est actualisé lors de sa prochaine activation.
-
figé
boolean facultatif
Chrome 132+ browser.* depuis Chrome 148Indique si les onglets sont figés. Un onglet figé ne peut pas exécuter de tâches, y compris les gestionnaires d'événements ou les minuteurs. Il est visible dans la bande d'onglets et son contenu est chargé en mémoire. Il est débloqué lors de l'activation.
-
groupId
number facultatif
Chrome 88+ browser.* depuis Chrome 148ID du groupe dans lequel se trouvent les onglets, ou
tabGroups.TAB_GROUP_ID_NONEpour les onglets non regroupés. -
en surbrillance
boolean facultatif
Indique si les onglets sont mis en surbrillance.
-
index
number facultatif
La position des onglets dans leurs fenêtres.
-
lastFocusedWindow
boolean facultatif
Indique si les onglets se trouvent dans la dernière fenêtre sélectionnée.
-
son coupé
boolean facultatif
Chrome 45 ou version ultérieure browser.* depuis Chrome 148Indique si le son des onglets est coupé.
-
épinglé
boolean facultatif
Indique si les onglets sont épinglés.
-
splitViewId
number facultatif
Chrome 140+ browser.* depuis Chrome 148ID de la vue fractionnée dans laquelle se trouvent les onglets, ou
tabs.SPLIT_VIEW_ID_NONEpour les onglets qui ne se trouvent pas dans une vue fractionnée. -
état
TabStatus facultatif
État de chargement de l'onglet.
-
titre
chaîne facultatif
Mettre en correspondance les titres de la page avec un format. Cette propriété est ignorée si l'extension ne dispose pas de l'autorisation
"tabs"ou des autorisations d'hôte pour la page. -
url
string | string[] facultatif
Faites correspondre les onglets à un ou plusieurs formats d'URL. Les identificateurs de fragments ne sont pas mis en correspondance. Cette propriété est ignorée si l'extension ne dispose pas de l'autorisation
"tabs"ou des autorisations d'hôte pour la page. -
windowId
number facultatif
ID de la fenêtre parente, ou
windows.WINDOW_ID_CURRENTpour la fenêtre actuelle. -
windowType
WindowType facultatif
Type de fenêtre dans laquelle se trouvent les onglets.
-
Renvoie
-
Promise<Tab[]>
Chrome 88+ browser.* depuis Chrome 148
reload()
browser.tabs.reload(
tabId?: number,
reloadProperties?: object,
): Promise<void>
Actualiser un onglet
Paramètres
-
tabId
number facultatif
ID de l'onglet à actualiser. Par défaut, il s'agit de l'onglet sélectionné de la fenêtre actuelle.
-
reloadProperties
objet facultatif
-
bypassCache
boolean facultatif
Indique si la mise en cache locale doit être ignorée. La valeur par défaut est
false.
-
Renvoie
-
Promise<void>
Chrome 88+ browser.* depuis Chrome 148
remove()
browser.tabs.remove(
tabIds: number | number[],
): Promise<void>
Ferme un ou plusieurs onglets.
Paramètres
-
tabIds
number | number[]
ID de l'onglet ou liste des ID des onglets à fermer.
Renvoie
-
Promise<void>
Chrome 88+ browser.* depuis Chrome 148
sendMessage()
browser.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
): Promise<any>
Envoie un seul message aux scripts de contenu de l'onglet spécifié. L'événement runtime.onMessage est déclenché dans chaque script de contenu exécuté dans l'onglet spécifié pour l'extension actuelle.
Paramètres
-
tabId
nombre
-
message
tous
Message à envoyer. Ce message doit être un objet JSON-ifiable.
-
options
objet facultatif
-
documentId
chaîne facultatif
Chrome 106 et versions ultérieures browser.* depuis Chrome 148Envoyez un message à un document spécifique identifié par
documentIdau lieu de tous les cadres de l'onglet. -
frameId
number facultatif
Envoyez un message à un frame spécifique identifié par
frameIdau lieu de tous les frames de l'onglet.
-
Renvoie
-
Promise<any>
Chrome 99+ browser.* depuis Chrome 148Promesse qui se résout avec la réponse du script de contenu. Si une erreur se produit lors de la connexion à l'onglet spécifié, la promesse sera rejetée.
setZoom()
browser.tabs.setZoom(
tabId?: number,
zoomFactor: number,
): Promise<void>
Effectue un 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
nombre
Nouveau facteur de zoom. La valeur
0définit l'onglet sur son facteur de zoom par défaut actuel. Les valeurs supérieures à0spécifient un facteur de zoom (éventuellement différent de celui par défaut) pour l'onglet.
Renvoie
-
Promise<void>
Chrome 88+ browser.* depuis Chrome 148Se résout une fois que le facteur de zoom a été modifié.
setZoomSettings()
browser.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
): Promise<void>
Définit les paramètres de zoom d'un onglet spécifié, qui déterminent la façon dont les modifications de zoom sont gérées. Ces paramètres sont réinitialisés lorsque vous quittez 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 manière dont les modifications du zoom sont gérées et à quel niveau.
Renvoie
-
Promise<void>
Chrome 88+ browser.* depuis Chrome 148Se résout une fois les paramètres de zoom modifiés.
ungroup()
browser.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 des onglets à supprimer de leurs groupes respectifs.
Renvoie
-
Promise<void>
unsplit()
browser.tabs.unsplit(
splitViewId: number,
): Promise<void>
Sépare les onglets d'une vue fractionnée en onglets indépendants.
Paramètres
-
splitViewId
nombre
ID de la vue fractionnée à séparer.
Renvoie
-
Promise<void>
update()
browser.tabs.update(
tabId?: number,
updateProperties: object,
): Promise<Tab | undefined>
Modifie les propriétés d'un onglet. Les propriétés qui ne sont pas spécifiées dans updateProperties ne sont pas modifiées.
Paramètres
-
tabId
number facultatif
La valeur par défaut est l'onglet sélectionné de la fenêtre actuelle.
-
updateProperties
objet
-
actif
boolean facultatif
Indique si l'onglet doit être actif. N'affecte pas la sélection de la fenêtre (voir
windows.update). -
autoDiscardable
boolean facultatif
Chrome 54 ou version ultérieure browser.* depuis Chrome 148Indique si l'onglet doit être automatiquement supprimé par le navigateur lorsque les ressources sont faibles.
-
en surbrillance
boolean facultatif
Ajoute l'onglet à la sélection actuelle ou l'en supprime.
-
son coupé
boolean facultatif
Chrome 45 ou version ultérieure browser.* depuis Chrome 148Indique si l'onglet doit être coupé.
-
openerTabId
number facultatif
ID de l'onglet qui a ouvert cet onglet. Si cette propriété est spécifiée, l'onglet d'ouverture doit se trouver dans la même fenêtre que cet onglet.
-
épinglé
boolean facultatif
Indique si l'onglet doit être épinglé.
-
sélectionné
boolean facultatif
ObsolèteVeuillez utiliser highlighted.
Indique si l'onglet doit être sélectionné.
-
url
chaîne facultatif
URL vers laquelle l'onglet doit naviguer. Les URL JavaScript ne sont pas acceptées. Utilisez plutôt
scripting.executeScript.
-
Renvoie
-
Promise<Tab | undefined>
Chrome 88+ browser.* depuis Chrome 148
Événements
onActivated
browser.tabs.onActivated.addListener(
callback: function,
)
Se déclenche lorsque l'onglet actif d'une fenêtre change. Notez que l'URL de l'onglet n'est peut-être pas 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
callbackse présente comme suit :(activeInfo: object) => void
-
activeInfo
objet
-
tabId
nombre
ID de l'onglet qui est devenu actif.
-
windowId
nombre
ID de la fenêtre dans laquelle l'onglet actif a changé.
-
-
onAttached
browser.tabs.onAttached.addListener(
callback: function,
)
Se déclenche 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
callbackse présente comme suit :(tabId: number, attachInfo: object) => void
-
tabId
nombre
-
attachInfo
objet
-
newPosition
nombre
-
newWindowId
nombre
-
-
onCreated
browser.tabs.onCreated.addListener(
callback: function,
)
Déclenché lorsqu'un onglet est créé. Notez que l'URL de l'onglet et l'appartenance au groupe d'onglets peuvent ne pas être définies 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 ou que l'onglet est ajouté à un groupe d'onglets.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(tab: Tab) => void
-
tabulation
-
onDetached
browser.tabs.onDetached.addListener(
callback: function,
)
Se déclenche lorsqu'un onglet est dissocié d'une fenêtre, par exemple parce qu'il a été déplacé entre des fenêtres.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(tabId: number, detachInfo: object) => void
-
tabId
nombre
-
detachInfo
objet
-
oldPosition
nombre
-
oldWindowId
nombre
-
-
onHighlighted
browser.tabs.onHighlighted.addListener(
callback: function,
)
Se déclenche lorsque les onglets mis en surbrillance ou sélectionnés dans une fenêtre changent.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(highlightInfo: object) => void
-
highlightInfo
objet
-
tabIds
number[]
Tous les onglets mis en surbrillance dans la fenêtre.
-
windowId
nombre
Fenêtre dont les onglets ont été modifiés.
-
-
onMoved
browser.tabs.onMoved.addListener(
callback: function,
)
Se déclenche 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 être déplacés 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
callbackse présente comme suit :(tabId: number, moveInfo: object) => void
-
tabId
nombre
-
moveInfo
objet
-
fromIndex
nombre
-
toIndex
nombre
-
windowId
nombre
-
-
onRemoved
browser.tabs.onRemoved.addListener(
callback: function,
)
Déclenché lorsqu'un onglet est fermé.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(tabId: number, removeInfo: object) => void
-
tabId
nombre
-
removeInfo
objet
-
isWindowClosing
booléen
"True" lorsque l'onglet a été fermé, car sa fenêtre parente a été fermée.
-
windowId
nombre
Fenêtre dont l'onglet est fermé.
-
-
onReplaced
browser.tabs.onReplaced.addListener(
callback: function,
)
Se déclenche lorsqu'un onglet est remplacé par un autre en raison d'un prérendu ou d'un instantané.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(addedTabId: number, removedTabId: number) => void
-
addedTabId
nombre
-
removedTabId
nombre
-
onUpdated
browser.tabs.onUpdated.addListener(
callback: function,
)
Déclenché lorsqu'un onglet est mis à jour.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(tabId: number, changeInfo: object, tab: Tab) => void
-
tabId
nombre
-
changeInfo
objet
-
audible
boolean facultatif
Chrome 45 ou version ultérieure browser.* depuis Chrome 148Nouvel état sonore de l'onglet.
-
autoDiscardable
boolean facultatif
Chrome 54 ou version ultérieure browser.* depuis Chrome 148Nouvel état d'abandon automatique de l'onglet.
-
avez supprimé
boolean facultatif
Chrome 54 ou version ultérieure browser.* depuis Chrome 148Nouvel état d'abandon de l'onglet.
-
favIconUrl
chaîne facultatif
Nouvelle URL du favicon de l'onglet.
-
figé
boolean facultatif
Chrome 132+ browser.* depuis Chrome 148Nouvel état figé de l'onglet.
-
groupId
number facultatif
Chrome 88+ browser.* depuis Chrome 148Nouveau groupe de l'onglet.
-
mutedInfo
MutedInfo facultatif
Chrome 46 ou version ultérieure browser.* depuis Chrome 148Le nouvel état de coupure du son de l'onglet et la raison de la modification.
-
épinglé
boolean facultatif
Nouvel état d'épinglage de l'onglet.
-
splitViewId
number facultatif
Chrome 140+ browser.* depuis Chrome 148La nouvelle vue fractionnée de l'onglet.
-
état
TabStatus facultatif
État de chargement de l'onglet.
-
titre
chaîne facultatif
Chrome 48+ browser.* depuis Chrome 148Nouveau titre de l'onglet.
-
url
chaîne facultatif
L'URL de l'onglet si elle a changé.
-
-
tabulation
-
onZoomChange
browser.tabs.onZoomChange.addListener(
callback: function,
)
Se déclenche lorsqu'un zoom est effectué sur un onglet.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
objet
-
newZoomFactor
nombre
-
oldZoomFactor
nombre
-
tabId
nombre
-
zoomSettings
-
-