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

    Utilisez innerBounds ou outerBounds.

    Obtenez les limites internes de la fenêtre en tant qu'objet ContentBounds.

    La fonction getBounds se présente comme suit :

    ()=> {...}

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

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

    Utilisez outerBounds.

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

    Utilisez innerBounds ou outerBounds.

    Définissez les limites internes de la fenêtre.

    La fonction setBounds se présente comme suit :

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

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

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

    URL 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

    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 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 et outerBounds, une erreur se produit.

    Cette propriété est nouvelle dans Chrome 36.

  • maxHeight

    numéro facultatif

    Obsolète

    Utilisez innerBounds ou outerBounds.

    Hauteur maximale de la fenêtre.

  • maxWidth

    numéro facultatif

    Obsolète

    Utilisez innerBounds ou outerBounds.

    Largeur maximale de la fenêtre.

  • minHeight

    numéro facultatif

    Obsolète

    Utilisez innerBounds ou outerBounds.

    Hauteur minimale de la fenêtre.

  • minWidth

    numéro 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 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 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 et outerBounds, 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érieures

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

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

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

  • type

    string facultatif

    Type d'image: none ou chrome (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

Chrome 45 ou version ultérieure

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

Promesse
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
  • rappel

    fonction facultative

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

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

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