chrome.app.window

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

    () => {...}

  • domaine

    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 É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.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(); } };

    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 fullscreen se présente comme suit :

    () => {...}

  • getBounds

    vide

    Obsolète

    Utilisez innerBounds ou outerBounds.

    Obtenez les limites intérieures de la fenêtre sous la forme d'un objet ContentBounds.

    La fonction getBounds se présente comme suit :

    () => {...}

  • masquer

    vide

    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

    vide

    La fenêtre est-elle toujours visible ?

    La fonction isAlwaysOnTop se 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 AppWindow ou HTML5.

    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

  • maximiser

    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

    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

      nombre

    • top

      nombre

  • resizeTo

    vide

    Obsolète depuis Chrome 43

    Utilisez outerBounds.

    Redimensionnez la fenêtre pour qu'elle mesure width x height pixels.

    La fonction resizeTo se 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 restore se 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 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 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

    Afficher la fenêtre. N'a aucun effet si la fenêtre est déjà visible. Activez la fenêtre si focused est défini sur "true" ou omis.

    La fonction show se 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 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

    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 null pour supprimer la contrainte. La valeur undefined ne modifie pas une contrainte.

    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 minimale peut être définie sur null pour supprimer la contrainte. La valeur undefined ne modifie pas une contrainte.

    La fonction setMinimumSize se 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 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) => {...}

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

    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 : 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 des 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 une nouveauté de la version M36.

  • (couche

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

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

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

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

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

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

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

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

    inactiveColor doit être utilisé conjointement avec color.

    La coloration des cadres est une nouveauté de Chrome 36.

  • type

    chaîne facultatif

    Type de frame : none ou chrome (par défaut : chrome).

    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 des 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 ou version ultérieure

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

    function facultatif

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

    (createdWindow: AppWindow) => void

Renvoie

  • Promise<AppWindow>

    Chrome 117 ou version ultérieure

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

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

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

  • callback

    fonction

    Le paramètre callback se 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 callback se 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 callback se 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 callback se présente comme suit :

    () => void