Description
Utilisez l'API chrome.app.window pour créer des fenêtres. Les fenêtres ont un cadre facultatif avec une barre de titre et des commandes de taille. Ils ne sont associés à aucune fenêtre du navigateur Chrome. Consultez l'exemple d'état de la 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
La position, la taille et les contraintes de la fenêtre, y compris les décorations de la fenêtre, telles que la barre de titre et le cadre. Cette propriété est nouvelle dans Chrome 36.
-
clearAttention
vide
Effacer l'attention portée à la fenêtre.
La fonction
clearAttentionse présente comme suit :() => {...} -
fermer
vide
Fermez la fenêtre.
La fonction
closese présente comme suit :() => {...} -
drawAttention
vide
Attirez l'attention sur la fenêtre.
La fonction
drawAttentionse présente comme suit :() => {...} -
domaine
vide
Sélectionnez la fenêtre.
La fonction
focusse présente comme suit :() => {...} -
plein écran
vide
Affiche la fenêtre en plein écran.
L'utilisateur pourra restaurer la fenêtre en appuyant sur Échap. Une application peut empêcher de quitter le mode plein écran lorsque l'utilisateur appuie sur Échap en demandant l'autorisation
app.window.fullscreen.overrideEscet 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(); } };Notez que
window.fullscreen()fait passer toute la fenêtre en plein écran et ne nécessite pas de geste de l'utilisateur. L'API HTML5 plein écran peut également être utilisée pour passer en mode plein écran (pour en savoir plus, consultez API Web).La fonction
fullscreense présente comme suit :() => {...} -
getBounds
vide
ObsolèteUtilisez innerBounds ou outerBounds.
Obtenez les limites intérieures de la fenêtre sous la forme d'un objet
ContentBounds.La fonction
getBoundsse présente comme suit :() => {...}-
Renvoie
-
-
masquer
vide
Masquer la fenêtre. N'a aucun effet si la fenêtre est déjà masquée.
La fonction
hidese présente comme suit :() => {...} -
isAlwaysOnTop
vide
La fenêtre est-elle toujours visible ?
La fonction
isAlwaysOnTopse présente comme suit :() => {...}-
Renvoie
booléen
-
-
isFullscreen
vide
La fenêtre est-elle en plein écran ? Cette valeur est "true" si la fenêtre a été créée en plein écran ou si elle a été affichée en plein écran via les API plein écran
AppWindowou HTML5.La fonction
isFullscreense présente comme suit :() => {...}-
Renvoie
booléen
-
-
isMaximized
vide
La fenêtre est-elle agrandie ?
La fonction
isMaximizedse présente comme suit :() => {...}-
Renvoie
booléen
-
-
isMinimized
vide
La fenêtre est-elle réduite ?
La fonction
isMinimizedse présente comme suit :() => {...}-
Renvoie
booléen
-
-
maximiser
vide
Agrandissez la fenêtre.
La fonction
maximizese présente comme suit :() => {...} -
réduire
vide
Réduisez la fenêtre.
La fonction
minimizese présente comme suit :() => {...} -
moveTo
vide
Obsolète depuis Chrome 43Utilisez outerBounds.
Déplacez la fenêtre vers la position (
left,top).La fonction
moveTose présente comme suit :(left: number, top: number) => {...}
-
gauche
nombre
-
top
nombre
-
-
resizeTo
vide
Obsolète depuis Chrome 43Utilisez outerBounds.
Redimensionnez la fenêtre pour qu'elle mesure
widthxheightpixels.La fonction
resizeTose présente comme suit :(width: number, height: number) => {...}
-
width
nombre
-
height
nombre
-
-
restaurer
vide
Restaurer la fenêtre, en quittant l'état agrandi, réduit ou plein écran.
La fonction
restorese présente comme suit :() => {...} -
setAlwaysOnTop
vide
Définissez si la fenêtre doit rester au-dessus de la plupart des autres fenêtres. Nécessite l'autorisation
alwaysOnTopWindows.La fonction
setAlwaysOnTopse 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
setBoundsse présente comme suit :(bounds: ContentBounds) => {...}
-
bounds
-
-
setVisibleOnAllWorkspaces
vide
Définissez si la fenêtre est visible sur tous les espaces de travail. (uniquement pour les plates-formes compatibles).
La fonction
setVisibleOnAllWorkspacesse présente comme suit :(alwaysVisible: boolean) => {...}
-
alwaysVisible
booléen
-
-
afficher
vide
Afficher la fenêtre. N'a aucun effet si la fenêtre est déjà visible. Activez la fenêtre si
focusedest défini sur "true" ou omis.La fonction
showse présente comme suit :(focused?: boolean) => {...}
-
Concentration
boolean facultatif
-
Bounds
Propriétés
-
height
nombre
Cette propriété peut être utilisée pour lire ou écrire la hauteur actuelle du contenu ou de la fenêtre.
-
gauche
nombre
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
nullindique "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
nullindique "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
nullindique "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
nullindique "non spécifié". -
top
nombre
Cette propriété peut être utilisée pour lire ou écrire la coordonnée Y actuelle du contenu ou de la fenêtre.
-
width
nombre
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 maximale peut être définie sur
nullpour supprimer la contrainte. La valeurundefinedne modifie pas une contrainte.La fonction
setMaximumSizese présente comme suit :(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
nombre
-
maxHeight
nombre
-
-
setMinimumSize
vide
Définissez les contraintes de taille minimale du contenu ou de la fenêtre. La largeur ou la hauteur minimale peut être définie sur
nullpour supprimer la contrainte. La valeurundefinedne modifie pas une contrainte.La fonction
setMinimumSizese présente comme suit :(minWidth: number, minHeight: number) => {...}
-
minWidth
nombre
-
minHeight
nombre
-
-
setPosition
vide
Définissez la position gauche et supérieure du contenu ou de la fenêtre.
La fonction
setPositionse présente comme suit :(left: number, top: number) => {...}
-
gauche
nombre
-
top
nombre
-
-
setSize
vide
Définissez la largeur et la hauteur du contenu ou de la fenêtre.
La fonction
setSizese présente comme suit :(width: number, height: number) => {...}
-
width
nombre
-
height
nombre
-
BoundsSpecification
Propriétés
-
height
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.
-
width
number facultatif
Largeur du contenu ou de la fenêtre.
ContentBounds
Propriétés
-
height
number facultatif
-
gauche
number facultatif
-
top
number facultatif
-
width
number facultatif
CreateWindowOptions
Propriétés
-
alwaysOnTop
boolean facultatif
Si la valeur est "true", la fenêtre reste au-dessus de la plupart des autres fenêtres. Si plusieurs fenêtres de ce type sont ouvertes, celle qui est actuellement active sera 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. -
bounds
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
boolean 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 cadre :
noneouchrome(chromepar défaut). Pournone, la propriété CSS-webkit-app-regionpeut être utilisée pour rendre la fenêtre de l'application déplaçable.-webkit-app-region: dragpeut être utilisé pour marquer des régions comme déplaçables.no-dragpeut être utilisé pour désactiver ce style sur les éléments imbriqués.L'utilisation de
FrameOptionsest une nouveauté de la version M36. -
boolean 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 facultatif
Chrome 54 ou version ultérieureURL 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 facultatif
ID permettant d'identifier la fenêtre. Il sera utilisé 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 de créer une nouvelle fenêtre.
-
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 la fenêtre). Si un
idest également spécifié et qu'une fenêtre avec unidcorrespondant 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
innerBoundsetouterBounds, 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
Permet de spécifier la position initiale, la taille initiale et les contraintes de la fenêtre (y compris les décorations de la fenêtre telles que la barre de titre et le cadre). Si un
idest également spécifié et qu'une fenêtre avec unidcorrespondant 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
innerBoundsetouterBounds, une erreur se produira.Cette propriété est nouvelle dans Chrome 36.
-
redimensionnable
boolean facultatif
Si la valeur est "true", l'utilisateur pourra redimensionner la fenêtre. La valeur par défaut est "true".
-
showInShelf
boolean facultatif
Chrome 54 ou version ultérieureSi la valeur est "true", la fenêtre aura sa propre icône dans l'étagère. Sinon, la fenêtre sera regroupée dans l'étagère 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
boolean facultatif
ObsolèteIl n'est plus possible d'avoir plusieurs fenêtres avec le même ID.
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 portant le 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
State (facultatif)
État initial de la fenêtre, permettant de la créer déjà en plein écran, agrandie 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
boolean facultatif
Si la valeur est "true" et que la plate-forme le permet, la fenêtre sera visible sur tous les espaces de travail.
FrameOptions
Propriétés
-
activeColor
chaîne facultatif
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 des cadres est une nouveauté de Chrome 36.
-
couleur
chaîne facultatif
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 des cadres est une nouveauté de Chrome 36.
-
inactiveColor
chaîne facultatif
Permet de définir une couleur différente pour le cadre de la fenêtre lorsqu'elle est inactive. La coloration des cadres n'est disponible que si le type de cadre est
chrome.inactiveColordoit être utilisé conjointement aveccolor.La coloration des cadres est une nouveauté de Chrome 36.
-
type
chaîne facultatif
Type de frame :
noneouchrome(par défaut :chrome).Pour
none, la propriété CSS-webkit-app-regionpeut être utilisée pour rendre la fenêtre de l'application déplaçable.-webkit-app-region: dragpeut être utilisé pour marquer des régions comme déplaçables.no-dragpeut ê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 la 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 à la fois 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 avec le même ID. Si vous devez ouvrir une fenêtre avec un ID à un emplacement autre que celui mémorisé 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
callbackse présente comme suit :(createdWindow: AppWindow) => void
-
createdWindow
-
Renvoie
-
Promise<AppWindow>
Chrome 117 ou version ultérieureLes 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 JavaScript "window"). 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 indiqué, la valeur "null" 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
callbackse présente comme suit :() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
Déclenché lorsque la fenêtre est fermée. Notez que cet événement doit être écouté depuis une fenêtre autre que celle qui est fermée, par exemple depuis la page d'arrière-plan. En effet, la fenêtre en cours de fermeture sera en cours de destruction lorsque l'événement sera 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
callbackse présente comme suit :() => void
onFullscreened
chrome.app.window.onFullscreened.addListener(
callback: function,
)
Déclenché lorsque la fenêtre est en plein écran (via les API AppWindow ou HTML5).
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :() => void
onMaximized
chrome.app.window.onMaximized.addListener(
callback: function,
)
Se déclenche lorsque la fenêtre est agrandie.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :() => void
onMinimized
chrome.app.window.onMinimized.addListener(
callback: function,
)
Se déclenche lorsque la fenêtre est réduite.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :() => void
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
Se déclenche lorsque la fenêtre est restaurée après avoir été réduite ou agrandie.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :() => void