chrome.app.window

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

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

    Utilisez outerBounds.

    Redimensionnez la fenêtre pour qu'elle atteigne width x height 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è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é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 de undefined 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 de undefined 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è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 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 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 au niveau des é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 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

    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 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 et outerBounds, cela entraînera une erreur.

    Cette propriété est nouvelle dans Chrome 36.

  • maxHeight

    numéro facultatif

    <ph type="x-smartling-placeholder"></ph> Obsolète

    Utilisez innerBounds ou outerBounds.

    Hauteur maximale de la fenêtre.

  • maxWidth

    numéro facultatif

    <ph type="x-smartling-placeholder"></ph> Obsolète

    Utilisez innerBounds ou outerBounds.

    Largeur maximale de la fenêtre.

  • minHeight

    numéro facultatif

    <ph type="x-smartling-placeholder"></ph> Obsolète

    Utilisez innerBounds ou outerBounds.

    Hauteur minimale de la fenêtre.

  • minWidth

    numéro facultatif

    <ph type="x-smartling-placeholder"></ph> 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 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 et outerBounds, 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ète

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

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

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

  • type

    chaîne facultatif

    Type d'image : 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 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

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

<ph type="x-smartling-placeholder"></ph> 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 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
  • rappel

    function facultatif

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

    (createdWindow: AppWindow) => void

Renvoie

  • Promise&lt;AppWindow&gt;

    Chrome 117 ou version ultérieure

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

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

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