Description
Utilisez l'API chrome.app.window
pour créer des fenêtres. Les fenêtres peuvent comporter un cadre facultatif avec une barre de titre et des commandes de dimensionnement. Ils ne sont associés à aucune fenêtre du navigateur Chrome. Consultez l'exemple d'état de fenêtre pour une démonstration de ces options.
Types
AppWindow
Propriétés
-
contentWindow
Fenêtre
Objet "window" JavaScript pour l'enfant créé.
-
id
chaîne
ID avec lequel la fenêtre a été créée.
-
innerBounds
Position, taille et contraintes du contenu de la fenêtre, qui n'inclut pas les décorations de la fenêtre. Cette propriété est nouvelle dans Chrome 36.
-
outerBounds
Position, taille et contraintes de la fenêtre, y compris les décorations de fenêtre, telles que la barre de titre et le cadre. Cette propriété est nouvelle dans Chrome 36.
-
clearAttention
vide
L'attention est clairement portée sur la fenêtre.
La fonction
clearAttention
se présente comme suit :() => {...}
-
fermer
vide
Fermez la fenêtre.
La fonction
close
se présente comme suit :() => {...}
-
drawAttention
vide
Attirez l'attention sur la fenêtre.
La fonction
drawAttention
se présente comme suit :() => {...}
-
concentration
vide
Sélectionnez la fenêtre.
La fonction
focus
se présente comme suit :() => {...}
-
plein écran
vide
Passe la fenêtre en plein écran.
L'utilisateur pourra restaurer la fenêtre en appuyant sur ÉCHAP. Une application peut empêcher la sortie de l'état plein écran lorsque la touche Échap est enfoncée en demandant l'autorisation
app.window.fullscreen.overrideEsc
et en annulant l'événement en appelant .preventDefault(), dans les gestionnaires keydown et keyup, comme suit :window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };
La note
window.fullscreen()
permet de passer en plein écran sans geste de l'utilisateur. L'API HTML5 Fullscreen peut également être utilisée pour passer en mode plein écran (pour en savoir plus, consultez API Web).La fonction
fullscreen
se présente comme suit :() => {...}
-
getBounds
vide
ObsolèteUtilisez innerBounds ou outerBounds.
Obtenez les limites intérieures de la fenêtre en tant qu'objet
ContentBounds
.La fonction
getBounds
se présente comme suit :() => {...}
-
Renvoie
-
-
masquer
vide
Masquez la fenêtre. N'a aucun effet si la fenêtre est déjà masquée.
La fonction
hide
se présente comme suit :() => {...}
-
isAlwaysOnTop
vide
La fenêtre est-elle toujours au premier plan ?
La fonction
isAlwaysOnTop
se présente comme suit :() => {...}
-
Renvoie
booléen
-
-
isFullscreen
vide
La fenêtre est-elle en plein écran ? La valeur est "true" si la fenêtre a été créée en plein écran ou si elle a été mise en plein écran à l'aide des API
AppWindow
ou HTML5 en plein écran.La fonction
isFullscreen
se présente comme suit :() => {...}
-
Renvoie
booléen
-
-
isMaximized
vide
La fenêtre est-elle agrandie ?
La fonction
isMaximized
se présente comme suit :() => {...}
-
Renvoie
booléen
-
-
isMinimized
vide
La fenêtre est-elle réduite ?
La fonction
isMinimized
se présente comme suit :() => {...}
-
Renvoie
booléen
-
-
agrandir
vide
Agrandissez la fenêtre.
La fonction
maximize
se présente comme suit :() => {...}
-
minimiser
vide
Réduisez la fenêtre.
La fonction
minimize
se présente comme suit :() => {...}
-
moveTo
vide
Obsolète depuis Chrome 43Utilisez outerBounds.
Déplacez la fenêtre vers la position (
left
,top
).La fonction
moveTo
se présente comme suit :(left: number, top: number) => {...}
-
gauche
Total
-
top
Total
-
-
resizeTo
vide
Obsolète depuis Chrome 43Utilisez outerBounds.
Redimensionnez la fenêtre à
width
xheight
pixels.La fonction
resizeTo
se présente comme suit :(width: number, height: number) => {...}
-
largeur
Total
-
hauteur
Total
-
-
restaurer
vide
Restaurez la fenêtre en quittant l'état agrandi, réduit ou plein écran.
La fonction
restore
se présente comme suit :() => {...}
-
setAlwaysOnTop
vide
Indique si la fenêtre doit rester au-dessus de la plupart des autres fenêtres. Nécessite l'autorisation
alwaysOnTopWindows
.La fonction
setAlwaysOnTop
se présente comme suit :(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
booléen
-
-
setBounds
vide
ObsolèteUtilisez innerBounds ou outerBounds.
Définissez les limites intérieures de la fenêtre.
La fonction
setBounds
se présente comme suit :(bounds: ContentBounds) => {...}
-
limites
-
-
setVisibleOnAllWorkspaces
vide
Définissez si la fenêtre est visible dans tous les espaces de travail. (uniquement pour les plates-formes compatibles).
La fonction
setVisibleOnAllWorkspaces
se présente comme suit :(alwaysVisible: boolean) => {...}
-
alwaysVisible
booléen
-
-
afficher
vide
Affiche la fenêtre. N'a aucun effet si la fenêtre est déjà visible. Faites passer la fenêtre au premier plan si
focused
est défini sur "true" ou omis.La fonction
show
se présente comme suit :(focused?: boolean) => {...}
-
Concentration
booléen facultatif
-
Bounds
Propriétés
-
hauteur
Total
Cette propriété peut être utilisée pour lire ou écrire la hauteur actuelle du contenu ou de la fenêtre.
-
gauche
Total
Cette propriété peut être utilisée pour lire ou écrire la coordonnée X actuelle du contenu ou de la fenêtre.
-
maxHeight
number facultatif
Cette propriété peut être utilisée pour lire ou écrire la hauteur maximale actuelle du contenu ou de la fenêtre. La valeur
null
indique "non spécifié". -
maxWidth
number facultatif
Cette propriété peut être utilisée pour lire ou écrire la largeur maximale actuelle du contenu ou de la fenêtre. La valeur
null
indique "non spécifié". -
minHeight
number facultatif
Cette propriété peut être utilisée pour lire ou écrire la hauteur minimale actuelle du contenu ou de la fenêtre. La valeur
null
indique "non spécifié". -
minWidth
number facultatif
Cette propriété peut être utilisée pour lire ou écrire la largeur minimale actuelle du contenu ou de la fenêtre. La valeur
null
indique "non spécifié". -
top
Total
Cette propriété peut être utilisée pour lire ou écrire la coordonnée Y actuelle du contenu ou de la fenêtre.
-
largeur
Total
Cette propriété peut être utilisée pour lire ou écrire la largeur actuelle du contenu ou de la fenêtre.
-
setMaximumSize
vide
Définissez les contraintes de taille maximale du contenu ou de la fenêtre. La largeur ou la hauteur maximales peuvent être définies sur
null
pour supprimer la contrainte. Une valeur deundefined
laissera une contrainte inchangée.La fonction
setMaximumSize
se présente comme suit :(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
Total
-
maxHeight
Total
-
-
setMinimumSize
vide
Définissez les contraintes de taille minimale du contenu ou de la fenêtre. La largeur ou la hauteur minimales peuvent être définies sur
null
pour supprimer la contrainte. Une valeur deundefined
laissera une contrainte inchangée.La fonction
setMinimumSize
se présente comme suit :(minWidth: number, minHeight: number) => {...}
-
minWidth
Total
-
minHeight
Total
-
-
setPosition
vide
Définissez la position gauche et supérieure du contenu ou de la fenêtre.
La fonction
setPosition
se présente comme suit :(left: number, top: number) => {...}
-
gauche
Total
-
top
Total
-
-
setSize
vide
Définissez la largeur et la hauteur du contenu ou de la fenêtre.
La fonction
setSize
se présente comme suit :(width: number, height: number) => {...}
-
largeur
Total
-
hauteur
Total
-
BoundsSpecification
Propriétés
-
hauteur
number facultatif
Hauteur du contenu ou de la fenêtre.
-
gauche
number facultatif
Coordonnée X du contenu ou de la fenêtre.
-
maxHeight
number facultatif
Hauteur maximale du contenu ou de la fenêtre.
-
maxWidth
number facultatif
Largeur maximale du contenu ou de la fenêtre.
-
minHeight
number facultatif
Hauteur minimale du contenu ou de la fenêtre.
-
minWidth
number facultatif
Largeur minimale du contenu ou de la fenêtre.
-
top
number facultatif
Coordonnée Y du contenu ou de la fenêtre.
-
largeur
number facultatif
Largeur du contenu ou de la fenêtre.
ContentBounds
Propriétés
-
hauteur
number facultatif
-
gauche
number facultatif
-
top
number facultatif
-
largeur
number facultatif
CreateWindowOptions
Propriétés
-
alwaysOnTop
booléen facultatif
Si la valeur est "true", la fenêtre restera au-dessus de la plupart des autres fenêtres. S'il existe plusieurs fenêtres de ce type, celle qui est actuellement sélectionnée se trouve au premier plan. Nécessite l'autorisation
alwaysOnTopWindows
. Valeur par défaut : "false".Appelez
setAlwaysOnTop()
sur la fenêtre pour modifier cette propriété après la création. -
limites
ContentBounds facultatif
ObsolèteUtilisez innerBounds ou outerBounds.
Taille et position du contenu dans la fenêtre (à l'exclusion de la barre de titre). Si un ID est également spécifié et qu'une fenêtre avec un ID correspondant a déjà été affichée, les limites mémorisées de la fenêtre seront utilisées à la place.
-
Concentration
booléen facultatif
Si la valeur est "true", la fenêtre sera sélectionnée lors de sa création. La valeur par défaut est "true".
-
cadre
string | FrameOptions facultatif
Type de frame :
none
ouchrome
(chrome
par défaut). Pournone
, la propriété CSS-webkit-app-region
peut être utilisée pour rendre la fenêtre de l'application déplaçable.-webkit-app-region: drag
peut être utilisé pour marquer les régions comme déplaçables.no-drag
peut être utilisé pour désactiver ce style sur les éléments imbriqués.L'utilisation de
FrameOptions
est nouvelle dans M36. -
booléen facultatif
Si la valeur est "true", la fenêtre est créée à l'état masqué. Appelez show() sur la fenêtre pour l'afficher une fois qu'elle a été créée. Valeur par défaut : "false".
-
icône
chaîne facultative
Chrome 54 et versions ultérieuresURL de l'icône de la fenêtre. Une fenêtre peut avoir sa propre icône lorsque showInShelf est défini sur "true". L'URL doit être une URL globale ou une URL locale d'extension.
-
id
chaîne facultative
ID permettant d'identifier la fenêtre. Cette valeur sera utilisée pour mémoriser la taille et la position de la fenêtre, et restaurer cette géométrie lorsqu'une fenêtre avec le même ID sera ouverte ultérieurement. Si une fenêtre avec un ID donné est créée alors qu'une autre fenêtre avec le même ID existe déjà, la fenêtre actuellement ouverte sera sélectionnée au lieu d'en créer une autre.
-
innerBounds
BoundsSpecification facultatif
Permet de spécifier la position initiale, la taille initiale et les contraintes du contenu de la fenêtre (à l'exclusion des décorations de fenêtre). Si un
id
est également spécifié et qu'une fenêtre avec unid
correspondant a déjà été affichée, les limites mémorisées seront utilisées à la place.Notez que la marge intérieure entre les limites intérieure et extérieure est déterminée par l'OS. Par conséquent, si vous définissez la même propriété de limites pour
innerBounds
etouterBounds
, une erreur se produira.Cette propriété est nouvelle dans Chrome 36.
-
maxHeight
number facultatif
ObsolèteUtilisez innerBounds ou outerBounds.
Hauteur maximale de la fenêtre.
-
maxWidth
number facultatif
ObsolèteUtilisez innerBounds ou outerBounds.
Largeur maximale de la fenêtre.
-
minHeight
number facultatif
ObsolèteUtilisez innerBounds ou outerBounds.
Hauteur minimale de la fenêtre.
-
minWidth
number facultatif
ObsolèteUtilisez innerBounds ou outerBounds.
Largeur minimale de la fenêtre.
-
outerBounds
BoundsSpecification facultatif
Utilisé pour spécifier la position initiale, la taille initiale et les contraintes de la fenêtre (y compris les décorations de fenêtre telles que la barre de titre et le cadre). Si un
id
est également spécifié et qu'une fenêtre avec unid
correspondant a déjà été affichée, les limites mémorisées seront utilisées à la place.Notez que la marge intérieure entre les limites intérieure et extérieure est déterminée par l'OS. Par conséquent, si vous définissez la même propriété de limites pour
innerBounds
etouterBounds
, une erreur se produira.Cette propriété est nouvelle dans Chrome 36.
-
redimensionnable
booléen facultatif
Si la valeur est "true", l'utilisateur pourra redimensionner la fenêtre. La valeur par défaut est "true".
-
showInShelf
booléen facultatif
Chrome 54 et versions ultérieuresSi la valeur est "true", la fenêtre aura sa propre icône dans le dock. Sinon, la fenêtre sera regroupée dans le dock avec les autres fenêtres associées à l'application. La valeur par défaut est "false". Si showInShelf est défini sur "true", vous devez spécifier un ID pour la fenêtre.
-
Singleton
booléen facultatif
ObsolètePlusieurs fenêtres avec le même ID ne sont plus acceptées.
Par défaut, si vous spécifiez un ID pour la fenêtre, celle-ci ne sera créée que si une autre fenêtre portant le même ID n'existe pas déjà. Si une fenêtre associée au même ID existe déjà, elle est activée à la place. Si vous souhaitez créer plusieurs fenêtres avec le même ID, vous pouvez définir cette propriété sur "false".
-
state
État facultatif
État initial de la fenêtre, qui permet de la créer déjà en plein écran, maximisée ou réduite. La valeur par défaut est "normal".
-
type
WindowType facultatif
Chrome 45 et versions ultérieures Obsolète depuis Chrome 69Toutes les fenêtres d'application utilisent le type de fenêtre "shell"
Type de fenêtre à créer.
-
visibleOnAllWorkspaces
booléen facultatif
Si la valeur est "true" et que la plate-forme le permet, la fenêtre sera visible dans tous les espaces de travail.
FrameOptions
Propriétés
-
activeColor
chaîne facultative
Permet de définir la couleur du cadre de la fenêtre lorsqu'elle est active. La coloration des cadres n'est disponible que si le type de cadre est
chrome
.La coloration des cadres n'est disponible que si le type de cadre est
chrome
.La coloration du cadre est une nouveauté de Chrome 36.
-
couleur
chaîne facultative
Permet de définir la couleur du cadre. La coloration des cadres n'est disponible que si le type de cadre est
chrome
.La coloration du cadre est une nouveauté de Chrome 36.
-
inactiveColor
chaîne facultative
Permet de définir une couleur de cadre de fenêtre différente de la couleur active lorsque la fenêtre est inactive. La coloration des cadres n'est disponible que si le type de cadre est
chrome
.inactiveColor
doit être utilisé conjointement aveccolor
.La coloration du cadre est une nouveauté de Chrome 36.
-
type
chaîne facultative
Type de frame :
none
ouchrome
(chrome
par défaut).Pour
none
, la propriété CSS-webkit-app-region
peut être utilisée pour rendre la fenêtre de l'application déplaçable.-webkit-app-region: drag
peut être utilisé pour marquer les régions comme déplaçables.no-drag
peut être utilisé pour désactiver ce style sur les éléments imbriqués.
State
État d'une fenêtre : normal, plein écran, agrandi, réduit.
Énumération
"normal"
"fullscreen"
"maximized"
"minimized"
WindowType
Spécifie le type de fenêtre à créer.
Énumération
"shell"
Type de fenêtre par défaut.
"panel"
Fenêtre gérée par l'OS (obsolète).
Méthodes
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces(): boolean
Indique si la plate-forme actuelle permet d'afficher les fenêtres sur tous les espaces de travail.
Renvoie
-
booléen
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
): Promise<AppWindow>
La taille et la position d'une fenêtre peuvent être spécifiées de différentes manières. L'option la plus simple consiste à ne rien spécifier. Dans ce cas, une taille par défaut et une position dépendant de la plate-forme seront utilisées.
Pour définir la position, la taille et les contraintes de la fenêtre, utilisez les propriétés innerBounds
ou outerBounds
. Les limites intérieures n'incluent pas les décorations de fenêtre. Les limites extérieures incluent la barre de titre et le cadre de la fenêtre. Notez que la marge intérieure entre les limites intérieure et extérieure est déterminée par l'OS. Par conséquent, définir la même propriété pour les limites intérieure et extérieure est considéré comme une erreur (par exemple, définir innerBounds.left
et outerBounds.left
).
Pour mémoriser automatiquement la position des fenêtres, vous pouvez leur attribuer des ID. Si une fenêtre possède un ID, celui-ci est utilisé pour mémoriser la taille et la position de la fenêtre chaque fois qu'elle est déplacée ou redimensionnée. Cette taille et cette position sont ensuite utilisées à la place des limites spécifiées lors de l'ouverture ultérieure d'une fenêtre portant le même ID. Si vous devez ouvrir une fenêtre avec un ID à un emplacement autre que celui par défaut, vous pouvez la créer masquée, la déplacer vers l'emplacement souhaité, puis l'afficher.
Paramètres
-
url
chaîne
-
options
CreateWindowOptions facultatif
-
callback
function facultatif
Le paramètre
callback
se présente comme suit :(createdWindow: AppWindow) => void
-
createdWindow
-
Renvoie
-
Promise<AppWindow>
Chrome 117 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.
current()
chrome.app.window.current(): AppWindow | undefined
Renvoie un objet AppWindow
pour le contexte de script actuel (c'est-à-dire l'objet "window" JavaScript). Cette méthode peut également être appelée sur un handle vers un contexte de script pour une autre page, par exemple : otherWindow.chrome.app.window.current().
Renvoie
-
AppWindow | undefined
get()
chrome.app.window.get(
id: string,
): AppWindow | undefined
Récupère un AppWindow
avec l'ID donné. Si aucune fenêtre ne correspond à l'ID spécifié, la valeur nulle est renvoyée. Cette méthode est nouvelle dans Chrome 33.
Paramètres
-
id
chaîne
Renvoie
-
AppWindow | undefined
getAll()
chrome.app.window.getAll(): AppWindow[]
Récupère un tableau de toutes les fenêtres d'application actuellement créées. Cette méthode est nouvelle dans Chrome 33.
Renvoie
Événements
onBoundsChanged
chrome.app.window.onBoundsChanged.addListener(
callback: function,
)
Déclenché lorsque la fenêtre est redimensionnée.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
Déclenché lorsque la fenêtre est fermée. Notez que cela doit être écouté à partir d'une fenêtre autre que celle qui est fermée, par exemple à partir de la page d'arrière-plan. En effet, la fenêtre en cours de fermeture est en train d'être détruite lorsque l'événement est déclenché, ce qui signifie que toutes les API du contexte de script de la fenêtre ne seront pas fonctionnelles.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :() => void
onFullscreened
chrome.app.window.onFullscreened.addListener(
callback: function,
)
Déclenché lorsque la fenêtre est mise en plein écran (via les API AppWindow
ou HTML5).
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :() => void
onMaximized
chrome.app.window.onMaximized.addListener(
callback: function,
)
Déclenché lorsque la fenêtre est agrandie.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :() => void
onMinimized
chrome.app.window.onMinimized.addListener(
callback: function,
)
Déclenché lorsque la fenêtre est réduite.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :() => void
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
Déclenché lorsque la fenêtre est restaurée après avoir été réduite ou agrandie.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :() => void