Description
Utilisez l'API chrome.app.window
pour créer des fenêtres. Les fenêtres disposent d'un cadre facultatif avec une barre de titre et des contrôles de taille. 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
La "fenêtre" 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 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 fenêtre, telles que la barre de titre et le cadre. Cette propriété est nouvelle dans Chrome 36.
-
clearAttention
vide
Attirez clairement l'attention 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
Affiche la fenêtre en plein écran.
L'utilisateur pourra restaurer la fenêtre en appuyant sur la touche Échap. Une application peut empêcher le passage en mode plein écran lorsque l'utilisateur appuie sur la touche ÉCHAP en demandant l'autorisation
app.window.fullscreen.overrideEsc
et en annulant l'événement en appelant .preventDefault() dans les gestionnaires de raccourcis clavier et de raccourcis clavier, comme ceci:window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };
Notez qu'avec
window.fullscreen()
, la fenêtre entière s'affiche en plein écran et ne nécessite aucun geste de l'utilisateur. L'API plein écran HTML5 peut également être utilisée pour activer le mode plein écran (pour en savoir plus, consultez la section API Web).La fonction
fullscreen
se présente comme suit:() => {...}
-
getBounds
vide
<ph type="x-smartling-placeholder"></ph> 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:() => {...}
-
retours
-
-
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 en haut ?
La fonction
isAlwaysOnTop
se présente comme suit:() => {...}
-
retours
booléen
-
-
isFullscreen
vide
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 de plein écran
AppWindow
ou HTML5.La fonction
isFullscreen
se présente comme suit:() => {...}
-
retours
booléen
-
-
isMaximized
vide
La fenêtre est-elle agrandie ?
La fonction
isMaximized
se présente comme suit:() => {...}
-
retours
booléen
-
-
isMinimized
vide
La fenêtre est-elle réduite ?
La fonction
isMinimized
se présente comme suit:() => {...}
-
retours
booléen
-
-
optimiser
vide
Agrandissez la fenêtre.
La fonction
maximize
se présente comme suit:() => {...}
-
réduire
vide
Réduisez la fenêtre.
La fonction
minimize
se présente comme suit:() => {...}
-
moveTo
vide
<ph type="x-smartling-placeholder"></ph> Obsolète depuis Chrome 43Utilisez outerBounds.
Déplacez la fenêtre à l'emplacement souhaité (
left
,top
).La fonction
moveTo
se présente comme suit:(left: number, top: number) => {...}
-
gauche
Nombre
-
top
Nombre
-
-
resizeTo
vide
<ph type="x-smartling-placeholder"></ph> Obsolète depuis Chrome 43Utilisez outerBounds.
Redimensionnez la fenêtre pour qu'elle atteigne
width
xheight
pixels.La fonction
resizeTo
se présente comme suit:(width: number, height: number) => {...}
-
largeur
Nombre
-
hauteur
Nombre
-
-
restaurer
vide
Restaure la fenêtre et quitte l'état agrandi, réduit ou plein écran.
La fonction
restore
se présente comme suit:() => {...}
-
setAlwaysOnTop
vide
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
booléen
-
-
setBounds
vide
<ph type="x-smartling-placeholder"></ph> 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é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
booléen
-
-
afficher
vide
Affichez la fenêtre. N'a aucun effet si la fenêtre est déjà visible. Sélectionne 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
-
hauteur
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
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. Une valeur de
null
indique "non spécifié". -
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. Une valeur de
null
indique "non spécifié". -
minHeight
numéro facultatif
Cette propriété peut être utilisée pour lire ou écrire la hauteur minimale actuelle du contenu ou de la fenêtre. Une valeur de
null
indique "non spécifié". -
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. Une valeur de
null
indique "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.
-
largeur
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 maximales peuvent être définies sur
null
pour supprimer la contrainte. Une valeur deundefined
laisse une contrainte inchangée.La fonction
setMaximumSize
se 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 minimales peuvent être définies sur
null
pour supprimer la contrainte. Une valeur deundefined
laisse une contrainte inchangée.La fonction
setMinimumSize
se présente comme suit:(minWidth: number, minHeight: number) => {...}
-
minWidth
Nombre
-
minHeight
Nombre
-
-
setPosition
vide
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
Nombre
-
top
Nombre
-
-
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
Nombre
-
hauteur
Nombre
-
BoundsSpecification
Propriétés
-
hauteur
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
-
hauteur
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 s'affiche 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
<ph type="x-smartling-placeholder"></ph> 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 sont utilisées à la place.
-
Concentration
Booléen facultatif
Si la valeur est "true", la fenêtre est active lors de sa création. La valeur par défaut est "true".
-
cadre
string | FrameOptions facultatif
Type d'image :
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 au niveau des é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 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
chaîne facultatif
Chrome (version 54 ou ultérieure)URL de l'icône de 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. Cette valeur 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 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 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 sont utilisées à la place.Notez que la marge intérieure entre les limites intérieure et extérieure est déterminée par le système d'exploitation. Par conséquent, si vous définissez la même propriété de délimitation pour
innerBounds
etouterBounds
, cela entraînera une erreur.Cette propriété est nouvelle dans Chrome 36.
-
maxHeight
numéro facultatif
<ph type="x-smartling-placeholder"></ph> ObsolèteUtilisez innerBounds ou outerBounds.
Hauteur maximale de la fenêtre.
-
maxWidth
numéro facultatif
<ph type="x-smartling-placeholder"></ph> ObsolèteUtilisez innerBounds ou outerBounds.
Largeur maximale de la fenêtre.
-
minHeight
numéro facultatif
<ph type="x-smartling-placeholder"></ph> ObsolèteUtilisez innerBounds ou outerBounds.
Hauteur minimale de la fenêtre.
-
minWidth
numéro facultatif
<ph type="x-smartling-placeholder"></ph> 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 sont utilisées à la place.Notez que la marge intérieure entre les limites intérieure et extérieure est déterminée par le système d'exploitation. Par conséquent, si vous définissez la même propriété de délimitation pour
innerBounds
etouterBounds
, cela entraînera une erreur.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 (version 54 ou ultérieure)Si la valeur est "true", la fenêtre a sa propre icône d'étagère. Sinon, elle 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
Booléen facultatif
<ph type="x-smartling-placeholder"></ph> ObsolèteIl n'est plus possible d'ajouter plusieurs fenêtres avec le même ID.
Par défaut, si vous spécifiez un ID pour la fenêtre, la fenêtre est créée uniquement si aucune autre fenêtre avec le même ID n'existe déjà. Si une fenêtre avec le même identifiant existe déjà, cette fenêtre 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 permet de la créer en plein écran, de l'agrandir ou de la réduire. 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 l'interface système type de fenêtre
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 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é dans 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é dans Chrome 36.
-
inactiveColor
chaîne facultatif
Permet de définir la couleur du cadre de la fenêtre lorsqu'elle est inactive différemment de la couleur active. La coloration des cadres n'est disponible que si le type de cadre est
chrome
.inactiveColor
doit être utilisé conjointement aveccolor
.La coloration des cadres est une nouveauté dans Chrome 36.
-
type
chaîne facultatif
Type d'image :
none
ouchrome
(valeur par défaut :chrome
).Pour
none
, 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 au niveau des éléments imbriqués.
State
État d'une fenêtre: normale, plein écran, agrandie, réduite.
Énumération
"normal"
"plein écran"
"maximisé"
"minimise"
WindowType
Spécifie le type de fenêtre à créer.
Énumération
"shell"
Type de fenêtre par défaut.
"panel"
Fenêtre d'OS gérée (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
-
booléen
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 du tout. Dans ce cas, une taille par défaut et une position dépendante de la plate-forme sont 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 le système d'exploitation. 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 identifiants. Si une fenêtre possède un ID, celui-ci permet de mémoriser sa taille et sa position 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 dont l'ID est situé à un emplacement autre que celui par défaut, vous pouvez le masquer, le déplacer vers l'emplacement souhaité, puis l'afficher.
Paramètres
-
url
chaîne
-
options
CreateWindowOptions facultatif
-
rappel
function facultatif
Le paramètre
callback
se 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 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 (c'est-à-dire l'objet "window" JavaScript). Elle 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 | indéfinie
get()
chrome.app.window.get(
id: string,
)
Récupère un AppWindow
avec l'ID donné. La valeur null s'affiche si aucune fenêtre ne correspond à l'identifiant donné. Cette méthode est nouvelle dans Chrome 33.
Paramètres
-
id
chaîne
Renvoie
-
AppWindow | indéfinie
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é lors du redimensionnement de la fenêtre.
Paramètres
-
rappel
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 vous devez écouter l'écoute depuis une autre fenêtre que celle en cours de fermeture, par exemple à partir de la page en arrière-plan. En effet, la fenêtre en cours de fermeture sera en cours de suppression lors du déclenchement de l'événement, ce qui signifie que toutes les API dans le contexte de script de la fenêtre ne fonctionneront pas.
Paramètres
-
rappel
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 en plein écran (via les API AppWindow
ou HTML5).
Paramètres
-
rappel
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
-
rappel
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
-
rappel
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
-
rappel
fonction
Le paramètre
callback
se présente comme suit:() => void