refresh date: 2026-09-25 robots: noindex
Description
Utilisez l'API chrome.windows pour interagir avec les fenêtres du navigateur. Vous pouvez utiliser cette API pour créer, modifier et réorganiser des fenêtres dans le navigateur.
Fichier manifeste
Lorsqu'il est demandé, un windows.Window contient un tableau d'objets tabs.Tab. Vous devez déclarer l'autorisation "tabs" dans votre fichier manifeste si vous avez besoin d'accéder aux propriétés url, pendingUrl, title ou favIconUrl de tabs.Tab. Exemple :
{
"name": "My extension",
...
"permissions": ["tabs"],
...
}
La fenêtre actuelle
De nombreuses fonctions du système d'extension acceptent un argument windowId facultatif, qui est défini par défaut sur la fenêtre actuelle.
La fenêtre actuelle est celle qui contient le code en cours d'exécution. Il est important de noter que cela peut être différent de la fenêtre la plus haute ou sélectionnée.
Par exemple, supposons qu'une extension crée quelques onglets ou fenêtres à partir d'un seul fichier HTML, et que ce fichier HTML contienne un appel à tabs.query(). La fenêtre actuelle est celle qui contient la page qui a effectué l'appel, quelle que soit la fenêtre supérieure.
Dans le cas des service workers, la valeur de la fenêtre actuelle est remplacée par celle de la dernière fenêtre active. Dans certains cas, il peut ne pas y avoir de fenêtre actuelle pour les pages d'arrière-plan.
Exemples

Pour essayer cette API, installez l'exemple d'API Windows à partir du dépôt chrome-extension-samples.
Types
CreateType
Spécifie le type de fenêtre de navigateur à créer. Le panneau est obsolète et n'est disponible que pour les extensions existantes ajoutées à la liste d'autorisation sur ChromeOS.
Énumération
"normal"
Spécifie la fenêtre comme fenêtre standard.
"popup"
Spécifie que la fenêtre est une fenêtre pop-up.
"panel"
Spécifie que la fenêtre est un panneau.
QueryOptions
Propriétés
-
populate
booléen facultatif
Si la valeur est "true", l'objet
windows.Windowpossède une propriététabsqui contient une liste des objetstabs.Tab. Les objetsTabne contiennent les propriétésurl,pendingUrl,titleetfavIconUrlque si le fichier manifeste de l'extension inclut l'autorisation"tabs". -
windowTypes
WindowType[] facultatif
Si elle est définie, la
windows.Windowrenvoyée est filtrée en fonction de son type. Si ce champ n'est pas défini, le filtre par défaut est défini sur['normal', 'popup'].
Window
Propriétés
-
alwaysOnTop
booléen
Indique si la fenêtre est définie pour être toujours au premier plan.
-
Concentration
booléen
Indique si la fenêtre est actuellement la fenêtre sélectionnée.
-
height
number facultatif
Hauteur de la fenêtre, y compris le cadre, en pixels. Dans certains cas, une propriété
heightpeut ne pas être attribuée à une fenêtre, par exemple lors de l'interrogation de fenêtres fermées à partir de l'APIsessions. -
id
number facultatif
ID de la fenêtre. Les ID de fenêtre sont uniques dans une session de navigateur. Dans certains cas, il est possible qu'une fenêtre ne soit pas associée à une propriété
ID. Par exemple, lorsque vous interrogez des fenêtres à l'aide de l'APIsessions, un ID de session peut être présent. -
navigation privée
booléen
Indique si la fenêtre est en mode navigation privée.
-
gauche
number facultatif
Décalage de la fenêtre par rapport au bord gauche de l'écran, en pixels. Dans certains cas, il est possible qu'une propriété
leftne soit pas attribuée à une fenêtre, par exemple lorsque vous interrogez des fenêtres fermées à partir de l'APIsessions. -
sessionId
chaîne facultatif
ID de session utilisé pour identifier de manière unique une fenêtre, obtenu à partir de l'API
sessions. -
state
WindowState facultatif
État de cette fenêtre de navigateur.
-
tabs
Tab[] facultatif
Tableau d'objets
tabs.Tabreprésentant les onglets actuels de la fenêtre. -
top
number facultatif
Décalage de la fenêtre par rapport au bord supérieur de l'écran, en pixels. Dans certains cas, une propriété
toppeut ne pas être attribuée à une fenêtre, par exemple lors de l'interrogation de fenêtres fermées à partir de l'APIsessions. -
type
WindowType facultatif
Type de fenêtre de navigateur.
-
width
number facultatif
Largeur de la fenêtre, y compris le cadre, en pixels. Dans certains cas, une propriété
widthpeut ne pas être attribuée à une fenêtre, par exemple lors de l'interrogation de fenêtres fermées à partir de l'APIsessions.
WindowState
État de cette fenêtre de navigateur. Dans certains cas, une propriété state peut ne pas être attribuée à une fenêtre, par exemple lors de l'interrogation de fenêtres fermées à partir de l'API sessions.
Énumération
"normal"
État normal de la fenêtre (ni réduite, ni agrandie, ni en plein écran).
"minimized"
État de la fenêtre réduite.
"maximized"
État de la fenêtre maximisée.
"fullscreen"
État de la fenêtre en plein écran.
WindowType
Type de fenêtre de navigateur. Dans certains cas, il est possible qu'aucune propriété type ne soit attribuée à une fenêtre, par exemple lorsque vous interrogez des fenêtres fermées à partir de l'API sessions.
Énumération
"normal"
Fenêtre de navigateur normale.
"popup"
Pop-up du navigateur.
"panel"
Obsolète dans cette API. Fenêtre de style panneau d'application Chrome. Les extensions ne peuvent voir que leurs propres fenêtres de panneau.
"app"
Obsolète dans cette API. Fenêtre d'application Chrome. Les extensions ne peuvent voir que les fenêtres de leur propre application.
"devtools"
Fenêtre des outils pour les développeurs.
Propriétés
WINDOW_ID_CURRENT
Valeur windowId qui représente la fenêtre actuelle.
Valeur
-2
WINDOW_ID_NONE
Valeur windowId qui représente l'absence de fenêtre du navigateur Chrome.
Valeur
-1
Méthodes
create()
chrome.windows.create(
createData?: object,
callback?: function,
): Promise<Window | undefined>
Crée (ouvre) une nouvelle fenêtre de navigateur avec les options de taille, de position ou d'URL par défaut fournies.
Paramètres
-
createData
object facultatif
-
Concentration
booléen facultatif
Si
true, ouvre une fenêtre active. Sifalse, ouvre une fenêtre inactive. -
height
number facultatif
Hauteur en pixels de la nouvelle fenêtre, y compris le cadre. Si aucune valeur n'est spécifiée, la hauteur par défaut est une hauteur naturelle.
-
navigation privée
booléen facultatif
Indique si la nouvelle fenêtre doit être une fenêtre de navigation privée.
-
gauche
number facultatif
Nombre de pixels pour positionner la nouvelle fenêtre à partir du bord gauche de l'écran. Si aucune valeur n'est spécifiée, la nouvelle fenêtre est décalée naturellement par rapport à la dernière fenêtre sélectionnée. Cette valeur est ignorée pour les panneaux.
-
setSelfAsOpener
booléen facultatif
Chrome 64 et versions ultérieuresSi la valeur est
true, la propriété "window.opener" de la fenêtre nouvellement créée est définie sur l'appelant et se trouve dans la même unité de contextes de navigation associés que l'appelant. -
state
WindowState facultatif
Chrome 44 et versions ultérieuresÉtat initial de la fenêtre. Les états
minimized,maximizedetfullscreenne peuvent pas être combinés avecleft,top,widthouheight. -
tabId
number facultatif
ID de l'onglet à ajouter à la nouvelle fenêtre.
-
top
number facultatif
Nombre de pixels pour positionner la nouvelle fenêtre à partir du bord supérieur de l'écran. Si aucune valeur n'est spécifiée, la nouvelle fenêtre est décalée naturellement par rapport à la dernière fenêtre sélectionnée. Cette valeur est ignorée pour les panneaux.
-
type
CreateType facultatif
Spécifie le type de fenêtre de navigateur à créer.
-
url
string | string[] facultatif
URL ou tableau d'URL à ouvrir sous forme d'onglets dans la fenêtre. Les URL complètes doivent inclure un schéma, par exemple "http://www.google.com" et non "www.google.com". Les URL non complètes sont considérées comme relatives dans l'extension. Par défaut, la page "Nouvel onglet" est utilisée.
-
width
number facultatif
Largeur en pixels de la nouvelle fenêtre, y compris le cadre. Si aucune valeur n'est spécifiée, la valeur par défaut est une largeur naturelle.
-
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :(window?: Window) => void
-
fenêtre
Fenêtre facultatif
Contient des informations sur la fenêtre créée.
-
Renvoie
-
Promise<Window | undefined>
Chrome 88 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
get()
chrome.windows.get(
windowId: number,
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
Obtient des informations sur une fenêtre.
Paramètres
-
windowId
nombre
-
queryOptions
QueryOptions facultatif
Chrome 88 et versions ultérieures -
callback
function facultatif
Le paramètre
callbackse présente comme suit :(window: Window) => void
-
fenêtre
-
Renvoie
-
Promise<Window>
Chrome 88 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getAll()
chrome.windows.getAll(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window[]>
Obtient toutes les fenêtres.
Paramètres
-
queryOptions
QueryOptions facultatif
Chrome 88 et versions ultérieures -
callback
function facultatif
Le paramètre
callbackse présente comme suit :(windows: Window[]) => void
-
fenêtres
Window[]
-
Renvoie
-
Promise<Window[]>
Chrome 88 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getCurrent()
chrome.windows.getCurrent(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
Récupère la fenêtre actuelle.
Paramètres
-
queryOptions
QueryOptions facultatif
Chrome 88 et versions ultérieures -
callback
function facultatif
Le paramètre
callbackse présente comme suit :(window: Window) => void
-
fenêtre
-
Renvoie
-
Promise<Window>
Chrome 88 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getLastFocused()
chrome.windows.getLastFocused(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
Obtient la fenêtre qui a été la plus récemment sélectionnée (généralement la fenêtre "au premier plan").
Paramètres
-
queryOptions
QueryOptions facultatif
Chrome 88 et versions ultérieures -
callback
function facultatif
Le paramètre
callbackse présente comme suit :(window: Window) => void
-
fenêtre
-
Renvoie
-
Promise<Window>
Chrome 88 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
remove()
chrome.windows.remove(
windowId: number,
callback?: function,
): Promise<void>
Supprime (ferme) une fenêtre et tous les onglets qu'elle contient.
Paramètres
-
windowId
nombre
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 88 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
update()
chrome.windows.update(
windowId: number,
updateInfo: object,
callback?: function,
): Promise<Window>
Met à jour les propriétés d'une fenêtre. Ne spécifiez que les propriétés à modifier. Les propriétés non spécifiées restent inchangées.
Paramètres
-
windowId
nombre
-
updateInfo
objet
-
drawAttention
booléen facultatif
Si la valeur est
true, la fenêtre s'affiche de manière à attirer l'attention de l'utilisateur sur la fenêtre, sans modifier la fenêtre sélectionnée. L'effet dure jusqu'à ce que l'utilisateur se concentre sur la fenêtre. Cette option n'a aucun effet si la fenêtre est déjà sélectionnée. Définissez surfalsepour annuler une demandedrawAttentionprécédente. -
Concentration
booléen facultatif
Si la valeur est
true, la fenêtre est placée au premier plan. Cette valeur ne peut pas être combinée à l'état "minimized". Sifalse, la fenêtre suivante dans l'ordre Z est placée au premier plan. Ne peut pas être combiné avec les états "fullscreen" (plein écran) ou "maximized" (agrandi). -
height
number facultatif
Hauteur à laquelle redimensionner la fenêtre en pixels. Cette valeur est ignorée pour les panneaux.
-
gauche
number facultatif
Décalage à partir du bord gauche de l'écran pour déplacer la fenêtre (en pixels). Cette valeur est ignorée pour les panneaux.
-
state
WindowState facultatif
Nouvel état de la fenêtre. Les états "minimized" (réduite), "maximized" (agrandie) et "fullscreen" (plein écran) ne peuvent pas être combinés avec "left" (gauche), "top" (haut), "width" (largeur) ou "height" (hauteur).
-
top
number facultatif
Décalage depuis le bord supérieur de l'écran, en pixels, pour déplacer la fenêtre. Cette valeur est ignorée pour les panneaux.
-
width
number facultatif
Largeur à laquelle redimensionner la fenêtre (en pixels). Cette valeur est ignorée pour les panneaux.
-
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :(window: Window) => void
-
fenêtre
-
Renvoie
-
Promise<Window>
Chrome 88 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
Événements
onBoundsChanged
chrome.windows.onBoundsChanged.addListener(
callback: function,
)
Déclenché lorsqu'une fenêtre a été redimensionnée. Cet événement n'est déclenché que lorsque les nouvelles limites sont validées, et non pour les modifications en cours.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(window: Window) => void
-
fenêtre
-
onCreated
chrome.windows.onCreated.addListener(
callback: function,
filters?: object,
)
Déclenché lorsqu'une fenêtre est créée.
Paramètres
-
callback
fonction
Chrome 46 et versions ultérieuresLe paramètre
callbackse présente comme suit :(window: Window) => void
-
fenêtre
Détails de la fenêtre créée.
-
-
filtres
object facultatif
-
windowTypes
Conditions que le type de fenêtre en cours de création doit remplir. Par défaut, il satisfait
['normal', 'popup'].
-
onFocusChanged
chrome.windows.onFocusChanged.addListener(
callback: function,
filters?: object,
)
Déclenché lorsque la fenêtre actuellement sélectionnée change. Renvoie chrome.windows.WINDOW_ID_NONE si toutes les fenêtres Chrome ont perdu le focus. Remarque : Sur certains gestionnaires de fenêtres Linux, WINDOW_ID_NONE est toujours envoyé immédiatement avant le passage d'une fenêtre Chrome à une autre.
Paramètres
-
callback
fonction
Chrome 46 et versions ultérieuresLe paramètre
callbackse présente comme suit :(windowId: number) => void
-
windowId
nombre
ID de la fenêtre récemment sélectionnée.
-
-
filtres
object facultatif
-
windowTypes
Conditions que le type de fenêtre supprimé doit remplir. Par défaut, il satisfait
['normal', 'popup'].
-
onRemoved
chrome.windows.onRemoved.addListener(
callback: function,
filters?: object,
)
Déclenché lorsqu'une fenêtre est supprimée (fermée).
Paramètres
-
callback
fonction
Chrome 46 et versions ultérieuresLe paramètre
callbackse présente comme suit :(windowId: number) => void
-
windowId
nombre
ID de la fenêtre supprimée.
-
-
filtres
object facultatif
-
windowTypes
Conditions que le type de fenêtre supprimé doit remplir. Par défaut, il satisfait
['normal', 'popup'].
-