chrome.app.window

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ète

    Utilisez 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 :

    () => {...}

  • 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 43

    Utilisez 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 43

    Utilisez outerBounds.

    Redimensionnez la fenêtre à width x height 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ète

    Utilisez innerBounds ou outerBounds.

    Définissez les limites intérieures de la fenêtre.

    La fonction setBounds se présente comme suit :

    (bounds: ContentBounds) => {...}

  • 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 de undefined 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 de undefined 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ète

    Utilisez 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 ou chrome (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.

    L'utilisation de FrameOptions est nouvelle dans M36.

  • (couche

    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érieures

    URL 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

    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 un id 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 et outerBounds, une erreur se produira.

    Cette propriété est nouvelle dans Chrome 36.

  • maxHeight

    number facultatif

    Obsolète

    Utilisez innerBounds ou outerBounds.

    Hauteur maximale de la fenêtre.

  • maxWidth

    number facultatif

    Obsolète

    Utilisez innerBounds ou outerBounds.

    Largeur maximale de la fenêtre.

  • minHeight

    number facultatif

    Obsolète

    Utilisez innerBounds ou outerBounds.

    Hauteur minimale de la fenêtre.

  • minWidth

    number facultatif

    Obsolète

    Utilisez innerBounds ou outerBounds.

    Largeur minimale de la fenêtre.

  • outerBounds

    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 un id 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 et outerBounds, 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érieures

    Si 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ète

    Plusieurs 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 69

    Toutes 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 avec color.

    La coloration du cadre est une nouveauté de Chrome 36.

  • type

    chaîne facultative

    Type de frame : none ou chrome (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

Chrome 45 et versions ultérieures

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()

Promise
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
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (createdWindow: AppWindow) => void

Renvoie

  • Promise<AppWindow>

    Chrome 117 et versions ultérieures

    Les 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

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

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