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. Elles ne sont associées à 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 de l'élément enfant créé.
-
id
chaîne
Identifiant avec lequel la fenêtre a été créée.
-
innerBounds
Position, taille et contraintes du contenu de la fenêtre, qui n'incluent pas les décorations de 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 la fenêtre, telles que la barre de titre et le cadre. Cette propriété est nouvelle dans Chrome 36.
-
clearAttention
void
Faites clairement attention à la fenêtre.
La fonction
clearAttention
se présente comme suit :()=> {...}
-
fermer
void
Fermez la fenêtre.
La fonction
close
se présente comme suit :()=> {...}
-
drawAttention
void
Attirez l'attention sur la fenêtre.
La fonction
drawAttention
se présente comme suit :()=> {...}
-
concentration
void
Sélectionner la fenêtre
La fonction
focus
se présente comme suit :()=> {...}
-
plein écran
void
Affiche la fenêtre en plein écran.
L'utilisateur pourra restaurer la fenêtre en appuyant sur ÉCHAP. Pour empêcher que le mode plein écran reste affiché lorsque l'utilisateur appuie sur la touche Échap, demandez l'autorisation
app.window.fullscreen.overrideEsc
et annulez l'événement en appelant .preventDefault() dans les gestionnaires de touches et les gestionnaires de touches, 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 la part de l'utilisateur. Vous pouvez également utiliser l'API HTML5 plein écran pour passer en mode plein écran. Pour en savoir plus, consultez la section API Web.La fonction
fullscreen
se présente comme suit :()=> {...}
-
getBounds
void
ObsolèteUtilisez innerBounds ou outerBounds.
Obtenez les limites internes de la fenêtre en tant qu'objet
ContentBounds
.La fonction
getBounds
se présente comme suit :()=> {...}
-
retours
-
-
masquer
void
Masquer 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
void
La fenêtre est-elle toujours en haut ?
La fonction
isAlwaysOnTop
se présente comme suit :()=> {...}
-
retours
boolean
-
-
isFullscreen
void
La fenêtre est-elle en plein écran ? Cela est vrai si la fenêtre a été créée en plein écran ou affichée en plein écran via les API
AppWindow
ou HTML5 plein écran.La fonction
isFullscreen
se présente comme suit :()=> {...}
-
retours
boolean
-
-
isMaximized
void
La fenêtre est-elle agrandie ?
La fonction
isMaximized
se présente comme suit :()=> {...}
-
retours
boolean
-
-
isMinimized
void
La fenêtre est-elle réduite ?
La fonction
isMinimized
se présente comme suit :()=> {...}
-
retours
boolean
-
-
maximiser
void
Agrandissez la fenêtre.
La fonction
maximize
se présente comme suit :()=> {...}
-
réduire
void
Réduire la fenêtre.
La fonction
minimize
se présente comme suit :()=> {...}
-
moveTo
void
Obsolète depuis Chrome 43Utilisez outerBounds.
Déplacez la fenêtre à la position (
left
,top
).La fonction
moveTo
se présente comme suit :(left: number,top: number)=> {...}
-
gauche
number
-
top
number
-
-
resizeTo
void
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
number
-
taille
number
-
-
restaurer
void
Restaurer la fenêtre et quitter son état (agrandi, réduit ou plein écran)
La fonction
restore
se présente comme suit :()=> {...}
-
setAlwaysOnTop
void
Indiquez 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
boolean
-
-
setBounds
void
ObsolèteUtilisez innerBounds ou outerBounds.
Définissez les limites internes de la fenêtre.
La fonction
setBounds
se présente comme suit :(bounds: ContentBounds)=> {...}
-
limites
-
-
setVisibleOnAllWorkspaces
void
Déterminez si la fenêtre est visible sur tous les espaces de travail. (uniquement pour les plates-formes compatibles).
La fonction
setVisibleOnAllWorkspaces
se présente comme suit :(alwaysVisible: boolean)=> {...}
-
alwaysVisible
boolean
-
-
afficher
void
Affichez la fenêtre. N'a aucun effet si la fenêtre est déjà visible. Sélectionner la fenêtre 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
-
taille
number
Cette propriété permet de lire ou d'écrire la hauteur actuelle du contenu ou de la fenêtre.
-
gauche
number
Cette propriété peut être utilisée pour lire ou écrire la coordonnée X actuelle du contenu ou de la fenêtre.
-
maxHeight
numéro 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 "unspecified". -
maxWidth
numéro 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 "unspecified". -
minHeight
numéro facultatif
Cette propriété permet de lire ou d'écrire la hauteur minimale actuelle du contenu ou de la fenêtre. La valeur
null
indique "unspecified". -
minWidth
numéro 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 "unspecified". -
top
number
Cette propriété peut être utilisée pour lire ou écrire la coordonnée Y actuelle du contenu ou de la fenêtre.
-
largeur
number
Cette propriété peut être utilisée pour lire ou écrire la largeur actuelle du contenu ou de la fenêtre.
-
setMaximumSize
void
Définissez les contraintes de taille maximales pour le contenu ou la fenêtre. La largeur ou la hauteur maximales peut être définie sur
null
pour supprimer la contrainte. Une valeur deundefined
ne modifie pas la contrainte.La fonction
setMaximumSize
se présente comme suit :(maxWidth: number,maxHeight: number)=> {...}
-
maxWidth
number
-
maxHeight
number
-
-
setMinimumSize
void
Définissez les contraintes de taille minimales pour le contenu ou la fenêtre. La largeur ou la hauteur minimales peut être définie sur
null
pour supprimer la contrainte. Une valeur deundefined
ne modifie pas la contrainte.La fonction
setMinimumSize
se présente comme suit :(minWidth: number,minHeight: number)=> {...}
-
minWidth
number
-
minHeight
number
-
-
setPosition
void
Définissez les positions gauche et supérieure du contenu ou de la fenêtre.
La fonction
setPosition
se présente comme suit :(left: number,top: number)=> {...}
-
gauche
number
-
top
number
-
-
setSize
void
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
number
-
taille
number
-
BoundsSpecification
Propriétés
-
taille
numéro facultatif
Hauteur du contenu ou de la fenêtre.
-
gauche
numéro facultatif
Coordonnée X du contenu ou de la fenêtre.
-
maxHeight
numéro facultatif
Hauteur maximale du contenu ou de la fenêtre.
-
maxWidth
numéro facultatif
Largeur maximale du contenu ou de la fenêtre.
-
minHeight
numéro facultatif
Hauteur minimale du contenu ou de la fenêtre.
-
minWidth
numéro facultatif
Largeur minimale du contenu ou de la fenêtre.
-
top
numéro facultatif
Coordonnée Y du contenu ou de la fenêtre.
-
largeur
numéro facultatif
Largeur du contenu ou de la fenêtre.
ContentBounds
Propriétés
-
taille
numéro facultatif
-
gauche
numéro facultatif
-
top
numéro facultatif
-
largeur
numéro facultatif
CreateWindowOptions
Propriétés
-
alwaysOnTop
Booléen facultatif
Si la valeur est "true", la fenêtre reste au-dessus de la plupart des autres fenêtres. S'il existe plusieurs fenêtres de ce type, la fenêtre 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 sa création. -
limites
ContentBounds facultatif
ObsolèteUtilisez innerBounds ou outerBounds.
Taille et position du contenu dans la fenêtre (barre de titre exclue). 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 sont 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. Valeur par défaut : true.
-
cadre
string|FrameOptions facultatif
Type de cadre :
none
ouchrome
(valeur par défaut :chrome
). Pournone
, la propriété CSS-webkit-app-region
peut être utilisée pour appliquer la déplaçabilité à la fenêtre de l'application.-webkit-app-region: drag
permet de marquer des régions comme déplaçables.no-drag
permet de 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 sera créée dans un é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
string facultatif
Chrome 54 et versions ultérieuresURL de l'icône de fenêtre. Une fenêtre peut avoir sa propre icône lorsque showInShelf est défini sur "true". Il doit s'agir d'une URL globale ou d'une URL locale d'extension.
-
id
string facultatif
ID permettant d'identifier la fenêtre. Cela permet de mémoriser la taille et la position de la fenêtre, et de restaurer cette géométrie lorsqu'une fenêtre ayant le même ID est ouverte par la suite. 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 est 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 la 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 interne et externe 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 produit.Cette propriété est nouvelle dans Chrome 36.
-
maxHeight
numéro facultatif
ObsolèteUtilisez innerBounds ou outerBounds.
Hauteur maximale de la fenêtre.
-
maxWidth
numéro facultatif
ObsolèteUtilisez innerBounds ou outerBounds.
Largeur maximale de la fenêtre.
-
minHeight
numéro facultatif
ObsolèteUtilisez innerBounds ou outerBounds.
Hauteur minimale de la fenêtre.
-
minWidth
numéro 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 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 interne et externe 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 produit.Cette propriété est nouvelle dans Chrome 36.
-
resizable
Booléen facultatif
Si la valeur est "true", l'utilisateur pourra redimensionner la fenêtre. Valeur par défaut : true.
-
showInShelf
Booléen facultatif
Chrome 54 et versions ultérieuresSi la valeur est "true", la fenêtre aura sa propre icône d'é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 identifiant pour la fenêtre.
-
Singleton
Booléen facultatif
ObsolèteIl n'est plus possible d'associer 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 aucune autre fenêtre portant le même ID n'existe déjà. Si une fenêtre avec le même identifiant 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, ce qui lui permet d'être affichée en plein écran, en agrandissement ou en taille réduite. La valeur par défaut est "normal".
-
type
WindowType : facultatif
Chrome 45 ou version ultérieure 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 qu'elle est compatible avec la plate-forme, la fenêtre sera visible dans tous les espaces de travail.
FrameOptions
Propriétés
-
activeColor
string facultatif
Permet de définir la couleur du cadre de la fenêtre active. La coloration du cadre n'est disponible que si le type de cadre est
chrome
.La coloration du cadre n'est disponible que si le type de cadre est
chrome
.La coloration de cadre est une nouveauté de Chrome 36.
-
couleur
string facultatif
Permet de définir la couleur du cadre. La coloration du cadre n'est disponible que si le type de cadre est
chrome
.La coloration de cadre est une nouveauté de Chrome 36.
-
inactiveColor
string facultatif
Permet de définir la couleur du cadre de la fenêtre inactive. La coloration du cadre n'est disponible que si le type de cadre est
chrome
.inactiveColor
doit être utilisé conjointement aveccolor
.La coloration de cadre est une nouveauté de Chrome 36.
-
type
string facultatif
Type d'image:
none
ouchrome
(par défaut,chrome
).Pour
none
, la propriété CSS-webkit-app-region
peut être utilisée pour appliquer la glissement à la fenêtre de l'application.-webkit-app-region: drag
permet de marquer des régions comme déplaçables.no-drag
permet de désactiver ce style sur les éléments imbriqués.
State
État de la fenêtre: normal, plein écran, agrandi, réduit.
Enum
"normal"
"fullscreen"
WindowType
Spécifie le type de fenêtre à créer.
Enum
"shell"
Type de fenêtre par défaut.
"panel"
Fenêtre gérée par le système d'exploitation (obsolète).
Méthodes
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces()
Indique si la plate-forme actuelle accepte l'affichage des fenêtres sur tous les espaces de travail.
Renvoie
-
boolean
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
)
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épendante 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 comprennent le cadre et la barre de titre de la fenêtre. Notez que la marge intérieure entre les limites interne et externe est déterminée par l'OS. Par conséquent, définir la même propriété pour les limites interne et externe est considéré comme une erreur (par exemple, définir à la fois innerBounds.left
et outerBounds.left
).
Pour mémoriser automatiquement les positions des fenêtres, vous pouvez leur attribuer des identifiants. Si une fenêtre est associée à un identifiant, cet identifiant 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 ayant le même identifiant. Si vous devez ouvrir une fenêtre dont l'ID n'est pas celui par défaut mémorisé, vous pouvez la masquer, la déplacer à l'emplacement souhaité, puis l'afficher.
Paramètres
-
url
chaîne
-
options
CreateWindowOptions facultatif
-
rappel
fonction facultative
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 versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
current()
chrome.app.window.current()
Renvoie un objet AppWindow
pour le contexte de script actuel (objet "window" JavaScript). Cette fonction 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|non défini
get()
chrome.app.window.get(
id: string,
)
Récupère un AppWindow
avec l'ID donné. Si aucune fenêtre avec l'ID donné n'existe, la valeur null est renvoyée. Cette méthode est nouvelle dans Chrome 33.
Paramètres
-
id
chaîne
Renvoie
-
AppWindow|non défini
getAll()
chrome.app.window.getAll()
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
-
rappel
function
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 ce message doit être écouté depuis une fenêtre autre que celle en cours de fermeture, par exemple depuis la page en arrière-plan. En effet, la fenêtre fermée sera en cours de suppression lors du déclenchement de l'événement. Par conséquent, toutes les API du contexte du script de la fenêtre ne fonctionneront pas.
Paramètres
-
rappel
function
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 en plein écran (via les API AppWindow
ou HTML5).
Paramètres
-
rappel
function
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
-
rappel
function
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
-
rappel
function
Le paramètre
callback
se présente comme suit :()=>void
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
Déclenché lorsque la réduction ou l'agrandissement de la fenêtre est restaurée.
Paramètres
-
rappel
function
Le paramètre
callback
se présente comme suit :()=>void