Aller au contenu principal

Objet BrowserWindowConstructorOptions

  • width Integer (facultatif) - Largeur de la fenêtre en pixels. Par défaut 800.
  • height Integer(facultatif) - Hauteur de la fenêtre en pixels. Par defaut 600.
  • x Integer (optionel) - (obligatoire si le paramètre y est utilisé) décalage à gauche de la fenêtre. Le defaut est de centrer la fenetre.
  • y Entier (optionel) - (obligatoire si le paramètre x est utilisé) Le décalage de la partie supérieure de l'écran. Le defaut est de centrer la fenetre.
  • useContentSize boolean (facultatif) - La largeur (width) et la hauteur (height) seront utilisées pour définir la taille de la page Web, ce qui signifie que la taille de la fenêtre réelle inclura la taille du cadre de celle-ci et sera légèrement plus grande. Par défaut la valeur est false.
  • center boolean (facultatif) - Affiche la fenêtre au centre de l’écran. Par défaut la valeur est false.
  • minWidthInteger (facultatif) - Largeur minimum de la fenêtre. La valeur par défaut est 0.
  • minHeight Integer (facultatif) - Hauteur minimale de la fenêtre. La valeur par défaut est 0.
  • maxWidth Integer (facultatif) - Hauteur maximale de la fenêtre. Il n'y a pas de limite par défaut.
  • maxHeight Integer (facultatif) - Hauteur maximale de la fenêtre. Il n'y a pas de limite par défaut.
  • resizable boolean (facultatif) - Si la fenêtre est redimensionnable. La valeur par défaut est true.
  • movable boolean (facultatif) macOS Windows - Indique si la fenêtre est déplaçable ou non. Ceci n'est pas implémenté sous Linux. La valeur par défaut est true.
  • minimizable boolean (facultatif) macOS Windows - Indique si la fenêtre est minimisable ou non. Ceci n'est pas implémenté sous Linux. La valeur par défaut est true.
  • maximizable boolean (facultatif) macOS Windows - Indique si la fenêtre est maximisable ou non. Ceci n'est pas implémenté sous Linux. La valeur par défaut est true.
  • closable boolean (facultatif) macOS Windows - Indique si la fenêtre peut être fermée. Ceci n'est pas implémenté sous Linux. La valeur par défaut est true.
  • focusable boolean (facultatif) - Indique que la fenêtre pourra ou non prendre le focus. La valeur par défaut est true. Sur Windows, mettre focusable: false implique également skipTaskbar: true. Sur Linux, mettre focusable: false fait que la fenêtre arrête d'interragir avec wm, par conséquent la fenêtre restera toujours au dessus dans tous les espaces de travail.
  • alwaysOnTop boolean (facultatif) - Indique si la fenêtre doit toujours rester au-dessus d'autres fenêtres. Par défaut la valeur est false.
  • fullscreen boolean (facultatif) - Indique si la fenêtre doit s'afficher en plein écran. Quand explicitement mit a false, le bouton plein écran sera caché ou désactivé sur macOS. Par défaut la valeur est false.
  • fullscreenable boolean (facultatif) - Indique si la fenêtre peut s'afficher en plein écran. Sur macOS, indique également si le bouton de maximizer/zoom doit faire basculer en mode plein écran ou agrandir la fenêtre. La valeur par défaut est true.
  • simpleFullscreen boolean (facultatif) <1">macOS</em> - Utilisation du plein écran pré-Lion sur macOS. Par défaut la valeur est false.
  • skipTaskbar boolean (facultatif) macOS Windows - Affiche la fenêtre dans la barre des tâches. Par défaut la valeur est false.
  • hiddenInMissionControl boolean (facultatif) macOS - Indique si la fenêtre doit être masquée lorsque l'utilisateur utilise Mission Control.
  • kiosk boolean (facultatif) - Indique si la fenêtre est en mode kiosque. Par défaut la valeur est false.
  • title string (facultatif) - Titre par défaut de la fenêtre. La valeur par défaut est "Electron". Si la balise HTML <title> est définie dans le fichier HTML chargé par loadURL(), cette propriété sera ignorée.
  • icon (NativeImage | string) (facultatif) - L'icône de la fenêtre. Sur Windows, il est recommandé d'utiliser le format ICO pour un rendu optimal. Si non défini, l'icone de l’exécutable sera utilisée.
  • show boolean (facultatif) -Détermine si la fenêtre doit s'afficher ou non à la création. La valeur par défaut est true`.
  • paintWhenInitiallyHidden boolean (facultatif) - Indique si le moteur de rendu doit être actif lorsque show est false et qu'il vient d'être créé. Afin que document.visibilityState fonctionne correctement lors du premier chargement avec show: false vous devez définir ceci à false. Mettre ceci à false fera que l'événement ready-to-show ne sera pas déclenché. La valeur par défaut est true.
  • frame boolean (facultatif) - Spécifier false pour créer une Fenêtre sans bordure. La valeur par défaut est true.
  • parent BrowserWindow (facultatif) - Indique la fenêtre parent. Par défaut la valeur est null.
  • modal boolean (facultatif) - Indique si il s'agit d'une fenêtre modale. Cela ne fonctionne que lorsque la fenêtre est une fenêtre enfant. Par défaut la valeur est false.
  • acceptFirstMouse boolean (facultatif) macOS - Indique si un click sur une fenêtre inactive passera à travers pour être transmis au contenu Web. La valeur par défaut est false sur macOS. Et cette option n'est pas configurable sur les autres plateformes.
  • disableAutoHideCursor boolean (facultatif) - Indique si le curseur est caché ou non lors de la saisie. Par défaut la valeur est false.
  • autoHideMenuBar boolean (facultatif) - Masque la barre de menu sauf si la touche Alt est enfoncée. Par défaut la valeur est false.
  • enableLargerThanScreen booléen (facultatif) macOS - Permet à la fenêtre d'être redimensionnée et d'être plus grande que l'écran. Seulement pertinent pour macOS, les autres systèmes d'exploitation autorisant par défaut des fenêtres plus grandes que l'écran par défaut. Par défaut la valeur est false.
  • backgroundColor string (facultatif) - Couleur de l'arrière-plan de la fenêtre en Hex, RGB, RGBA, HSL, HSLA avec un format CSS nommé. Alpha au format #AARRGGBB est pris en charge si transparent est défini à true. La valeur par défaut est #FFF (white). Voir win.setBackgroundColor pour plus d'informations.
  • hasShadow boolean (facultatif) - Indique si la fenêtre doit être ombrée. La valeur par défaut est true.
  • opacity number(facultatif) macOS Windows - Définit l'opacité initiale de la fenêtre, entre 0. (entièrement transparente) et 1.0 (totalement opaque). Uniquement implémenté sur Windows et macOS.
  • darkTheme boolean (optionnel) - Force l'utilisation du thème sombre pour la fenêtre, fonctionne uniquement sur certains environnements de bureau GTK+3. Par défaut la valeur est false.
  • transparent boolean (facultatif) - Rend la fenêtre transparente. Par défaut la valeur est false. Sous Windows, ne fonctionne pas à moins que la fenêtre soit sans bordure.
  • type string (facultatif) - Type de fenêtre, par défaut normal. Voir ci-dessous pour en savoir plus.
  • visualEffectState string (facultatif) macOS - Spécifie comment sur macOS l'apparence de la fenêtre doit refléter son état d'activité. Doit être utilisé avec la propriété vibrancy. Les valeurs possibles étant:
    • followWindow - L'arrière-plan doit automatiquement apparaître comme actif lorsque la fenêtre est active et inactif quand elle ne l'est pas. C'est le comportement par défaut.
    • active - L'arrière-plan devrait toujours apparaître comme actif.
    • inactive - L'arrière-plan devrait toujours apparaître comme inactif.
  • titleBarStyle string (facultatif) macOS Windows - Le style de la barre de titre de la fenêtre. La valeur par défaut est default. Les valeurs possibles étant:
    • default - Produit la barre de titre standard pour macOS ou Windows.
    • hidden - Produit une barre de titre cachée et une fenêtre de contenu en pleine taille. Sur macOS, la fenêtre aura toujours les commandes standard des fenêtres (« feux de circulation ») en haut à gauche. Sous Windows, combiné avec titleBarOverlay: true , il activera la superposition des commandes de fenêtres (voir titleBarOverlay pour plus d'informations), sinon aucun contrôle de fenêtre ne sera affiché.
    • hiddenInset macOS - Seulement sur macOS, produit une barre de titre masquée mais avec une apparence différente quant aux boutons des feux de circulation qui sont légèrement plus incrustés dans le bord de la fenêtre.
    • customButtonsOnHover macOS - Seulement sur macOS, se traduit par une barre de titre cachée et une fenêtre de contenu en pleine taille, les boutons du feu de signalisation s'afficheront lors de leur survol en haut à gauche de la fenêtre. Note: Cette option est actuellement expérimentale.
  • trafficLightPosition Point (facultatif) macOS - Définit une position personnalisée pour les boutons de feux de circulation dans les fenêtres sans bordure.
  • roundedCorners boolean (facultatif) macOS - Indique si la fenêtre sans bordure doit avoir des coins arrondis sur macOS. La valeur par défaut est true. L'assignation de false à cette propriété empêchera la fenêtre d'être plein écran.
  • thickFrame boolean (facultatif) - Utilisez le style WS_THICKFRAME pour les fenêtres sans cadre sur Windows, qui ajoute une image standard de fenêtre. Le définir à false supprimera les animations de fenêtre et de fenêtre. La valeur par défaut est true.
  • vibrancy string (facultatif) macOS - Ajoute un type d'effet de vibrance à la fenêtre, uniquement sur macOS. Peut prendre une des valeurs suivantes: appearance-based, titlebar, selection,menu, popover, sidebar, header, sheet, window, hud, fullscreen-ui, tooltip, content, under-window ou under-page.
  • backgroundMaterial string (facultatif) Windows - Définit le contenu d'arrière-plan du système de la fenêtre, y compris derrière la zone non-client. Peut prendre une des valeurs suivantes: auto, none, mica, acrylic ou tabbed. Voir win.setBackgroundMaterial pour plus d'informations.
  • zoomToPageWidth boolean (facultatif) macOS - Contrôle le comportement sur macOS lorsque vous cliquez sur le bouton vert d'arrêt de la barre d'outils ou en cliquant sur le lien de menu Window> Zoom. Si true, la fenêtre grandira à la largeur préférée de la page web lors du zoom et false va le faire zoomer à la largeur de l'écran. Cela affectera également le comportement lors de l'appel direct à maximize(). Par défaut la valeur est false.
  • tabbingIdentifier chaîne (facultatif) macOS - Nom du groupe d’onglets, ce qui permet d'ouvrir la fenêtre en tant qu’onglet natif. Les fenêtres avec le même identifiant de tabulation seront regroupées. Cela ajoute également un nouveau bouton d'onglet natif à la barre d'onglets de votre fenêtre et permet à votre app et votre fenêtre de recevoir l'événement new-window-for-tab.
  • webPreferences WebPreferences (facultatif) - Paramètres des fonctionnalités de la page Web.
    • devTools boolean (facultatif) - Active ou non les DevTools. Si défini comme à false on ne pourra pas utiliser BrowserWindow.webContents.openDevTools() pour ouvrir les DevTools. La valeur par défaut est true.
    • nodeIntegration boolean (facultatif) - Indique si l'intégration de node est activée. Par défaut la valeur est false.
    • nodeIntegrationInWorker boolean (facultatif) - Indique si l'intégration de node est activée dans les workflows web. Par défaut la valeur est false. Plus d'informations peuvent être trouvée dans Multithreading.
    • nodeIntegrationInSubFrames boolean (facultatif) - Option expérimentale pour activer le support de Node.js dans les sous-cadres tels que les iframes et les fenêtres enfants. Tous vos préchargements seront chargés pour chaque iframe, vous pouvez utiliser process.isMainFrame pour déterminer si vous êtes dans le cadre principal ou non.
    • preload string (facultatif) - Spécifie un script qui sera chargé avant les autres scripts exécutés dans la page. Ce script aura toujours accès aux API de node peu importe si l'intégration de node est activée ou désactivée. La valeur doit être le chemin absolu vers le script. Lorsque l'intégration des nœuds est désactivée, le script de préchargement peut réintroduire les symboles globaux de nœud dans la portée globale. Voir l'exemple ici.
    • sandbox booléen (facultatif) - Si défini, le moteur de rendu associé à la fenêtre, la rendre compatible avec le bac à sable Chromium au niveau du système d'exploitation et la désactivation du nœud. s moteur. Ce n'est pas la même chose que l'option nodeIntegration et les API disponibles pour le script de préchargement sont plus limitées. En savoir plus sur l'option ici.
    • session Session (facultatif) - Définit la session utilisée par la page . Au lieu de passer l'objet Session directement, vous pouvez également choisir d'utiliser l'option partition à la place, qui accepte une chaîne de partition. Lorsque session et partition sont fournies, session sera préférée. La session par défaut est celle par défaut.
    • partition string (facultatif) - Définit la session utilisée par la page en fonction de la chaîne de partition de la session . Si partition commence par persist:, la page utilisera une session persistante disponible pour toutes les pages de l'application avec le même partition. S'il n'y a pas de préfixe persistant:, la page utilisera une session en mémoire . En assignant la même partition, plusieurs pages peuvent partager la même session. La session par défaut est celle par défaut.
    • zoomFactor number (facultatif) - Facteur de zoom par défaut de la page, 3.0 signifie 300%. La valeur par défaut est 1.0.
    • javascript boolean (facultatif) - Active la prise en charge de JavaScript. La valeur par défaut est true.
    • webSecurity boolean (facultatif) - Lorsque false, il désactivera la politique de même origine (généralement en utilisant des sites de test par des personnes), et définissez allowRunningInsecureContent à true si cette option n'a pas été définie par l'utilisateur. La valeur par défaut est true.
    • allowRunningInsecureContent boolean (facultatif) - Permet à une page https d'exécuter du JavaScript, CSS ou des plugins à partir d'URL http. Par défaut la valeur est false.
    • images boolean (facultatif) - Active le support des images. La valeur par défaut est true.
    • imageAnimationPolicy string (facultatif) - Spécifie comment exécuter les animations d’image (par exemple,. GIFs). Les valeurs possibles sont animate, animateOnce, ou noAnimation. La valeur par défaut est animate.
    • textAreasAreResizable boolean (facultatif) - Rend les éléments TextArea redimensionnables. La valeur par défaut est true.
    • webgl boolean (facultatif) - Active le support WebGL. La valeur par défaut est true.
    • plugins boolean (facultatif) - Indique si les plugins doivent être activés. Par défaut la valeur est false.
    • experimentalFeatures boolean (facultatif) - Active les fonctionnalités expérimentales de Chromium. Par défaut la valeur est false.
    • scrollBounce boolean (facultatif) macOS - Active l'effet scroll bounce(effet élastique) sur macOS. Par défaut la valeur est false.
    • enableBlinkFeatures string (facultatif) - Liste de chaînes de caractères séparées par des ,, comme CSSVariables,KeyEventKey représentant les fonctionnalités à activer. La liste complète des chaînes de caractères supportées peut être trouvée dans le fichier RuntimeEnabledFeatures.json5 .
    • disableBlinkFeatures string (facultatif) - Liste de chaînes de caractères séparées par des, comme par exemple CSSVariables,KeyboardEventKey représentant les fonctionnalités à désactiver. La liste complète des chaînes des fonctionnalités supportées peut être trouvée dans le fichier RuntimeEnabledFeatures.json5 .
    • defaultFontFamily Object (facultatif) - Définit la police par défaut pour la famille de polices.
      • standard string (facultatif) - Par défaut Times New Roman.
      • serif string (facultatif) - Par défaut Times New Roman.
      • sansSerif string (facultatif) - Arial.
      • monospace string (facultatif) - Courrier New.
      • cursive string (facultatif) - Par défaut Script.
      • fantasy string (facultatif) - Par défaut Impact.
      • math string (facultatif) - Valeur par défaut Latin Modern Math.
    • defaultFontSize Integer (facultatif) - 16.
    • defaultMonospaceFontSize Integer (facultatif) - 13.
    • minimumFontSize Integer (facultatif) - 0.
    • defaultEncoding string (facultatif) - Par défaut ISO-8859-1.
    • backgroundThrottling boolean (facultatif) - Indique si on désire controler les animations et les timers lorsque la page passe en arrière-plan. Cela affecte également l'API Page Visibility. When at least one webContents displayed in a single browserWindow has disabled backgroundThrottling then frames will be drawn and swapped for the whole window and other webContents displayed by it. true par défaut.
    • offscreen boolean (facultatif) - Active le rendu hors écran pour la fenêtre du navigateur. Par défaut, false. Voir le tutoriel de rendu hors écran pour plus de détails.
    • contextIsolation boolean (facultatif) - Indique si les API Electron et le script preload spécifié s'exécuteront dans un contexte JavaScript séparé. Est à true par défaut. Le contexte dans lequel le script preload s’exécute n’aura accès qu'à ses propres document , globales de window et ensemble de types JavaScript intégrés (Array, Object, JSON, etc.), ceux-ci seront tous invisibles pour le contenu chargé. L'API Electron ne sera donc disponible que dans le script de preload et pas dans la page chargée. Cette option doit être utilisée lors du chargement de contenu distant potentiellement non fiable afin de se prémunit de toute utilisation frauduleuse du script preload ou des APIs Electron. Cette option utilise la même technique que celle utilisée par les Chrome Content Scripts. Vous pouvez accéder à ce contexte dans les outils de développement en sélectionnant l'entrée 'Electron Isolated Context' de la liste déroulante en haut de l'onglet Console.
    • webviewTag boolean (facultatif) - Active ou non la balise <webview>. Par défaut, false. Remarque : Le script preload configuré pour la <webview> aura l'intégration de node activée lorsqu'il est exécuté, donc vous devez vous assurer que le contenu distant/non fiable n'est pas en mesure de créer une balise <webview> avec un script de preloadpotentiellement malveillant. Vous pouvez utiliser l'événement will-attach-webview sur webContents pour supprimer le script preload et valider ou modifier les paramètres initiaux de < webview>.
    • additionalArguments string[] (facultatif) - Liste de chaînes qui seront ajoutées au process.argv dans le processus de rendu de cette application. Cette option est utile afin de transmettre de petites informations aux scripts de préchargement du processus de rendu.
    • safeDialogs boolean (facultatif) - Indique s’il faut activer la protection pour les boîtes de dialogue consécutives à la mode "navigateur". Par défaut la valeur est false.
    • safeDialogsMessage string (facultatif) - Le message à afficher lorsque la protection consécutive des dialogues est déclenchée. Si non défini, le message par défaut serait utilisé, notez que le message par défaut est actuellement en anglais et non localisé.
    • disableDialogs boolean (facultatif) - Indique si l faut désactiver complètement les dialogues . Surcharge safeDialogs. Par défaut la valeur est false.
    • navigateOnDragDrop boolean (facultatif) - Indique si le glisser-déposer d'un fichier ou d'un lien sur la page provoque une navigation. Par défaut la valeur est false.
    • autoplayPolicy string (facultatif) - La politique de lecture automatique à appliquer au contenu dans la fenêtre, peut être no-user-gesture-required, user-gesture-required, document-user-activation-required. Par défaut, no-user-gesture-required.
    • disableHtmlFullscreenWindowResize boolean (facultatif) - Indqiue si vous désirez empêcher la fenêtre de se redimensionner lorsque vous passer en plein écran HTML. La valeur par défaut est false.
    • accessibleTitle string (facultatif) définit un titre alternatif fourni uniquement aux outils d'accessibilité tels que les lecteurs d'écran. Cette chaîne n'est pas directement visible par les utilisateurs.
    • spellcheck boolean (facultatif) - Indique si il faut activer le vérifiacateur orthographique intégré. La valeur par défaut est true.
    • enableWebSQL boolean (facultatif) : Inindique s’il faut activer l’api WebSQL . La valeur par défaut est true.
    • v8CacheOptions string (facultatif) - Applique la stratégie de mise en cache du code v8 utilisée par blink. Les valeurs acceptées sont
      • none - Désactive la mise en cache du code
      • code - Mise en cache de code heuristique
      • bypassHeatCheck - Bypass la mise en cache de code heuristique mais avec compilation paresseuse
      • bypassHeatCheckAndEagerCompile - identique à ce qui précède mais la compilation est immédiate. La statégie par défaut est code.
    • enablePreferredSizeMode boolean (facultatif) - Active ou non le mode de taille préféré. La taille préférée est la taille minimale requise pour contenir la mise en page du document sans avoir besoin de le faire défiler. Lorqu' activé ceci provoquera l'émission de l'événement preferred-size-changed sur le WebContents lorsque la taille préférée change. Par défaut la valeur est false.
  • titleBarOverlay Object | Boolean (facultatif) - Lors de l'utilisation d'une fenêtre sans bordure en conjonction avec win.setWindowButtonVisibility(true) sur macOS ou en utilisant un titleBarStyle afin que les contrôles de la fenêtre standard ("feux de circulation" sur macOS) soient visibles, cette propriété active les API JavaScript de l'overlay des Contrôles des fenêtres et les variables d'environnement CSS. La valeur true entraînera un overlay avec les couleurs par défaut du système. Par défaut la valeur est false.
    • color String (facultatif) Windows - Couleur CSS de l'overlay des contrôles de fenêtres lorsqu'il est activé. La couleur par défaut est la couleur du système.
    • symbolColor String (facultatif) Windows - Couleur CSS des symboles de l'overlay des contrôles de fenêtres lorsqu'il est activé. La couleur par défaut est la couleur du système.
    • height Integer (facultatif) macOS Windows - Hauteur exprimée en pixels de la barre de titre et de l'overlay des contrôle de la fenêtre . La valeur par défaut est la hauteur du système.

Lorsque l'on définie une taille minimum ou maximum pour la fenêtre avec minWidth/maxWidth/ minHeight/maxHeight, cela contraint les utilisateurs uniquement. Cela ne vous empêche pas de passer une taille qui ne suit pas les contraintes de tailles à setBounds/setSize ou au constructeur de BrowserWindow.

Les valeurs et comportements possibles de l'option type dépendent de la plateforme. Les valeurs possibles étant:

  • Sur Linux, les types possible sont desktop, dock, toolbar, splash, notification.
    • Le type desktop place la fenêtre au niveau de la fenêtre d'arrière-plan du bureau (kCGDesktopWindowLevel - 1). Cependant, notez qu’une fenêtre de bureau ne recevra pas les événements de focus, de clavier ou de souris. Vous pouvez toujours utiliser globalRaccourci vers recevoir des entrées avec modération.
    • Le type dock crée comportement de fenêtre semblable à celui d'un dock.
    • Le type toolbar crée une fenêtre avec une apparence de barre d'outils.
    • Le type splash provoque un comporterment spécifique. Il n'est pas déplaçacle, même si le style CSS du corps de la fenêtre contient -webkit-app-region : drag. Ce type est couramment utilisé pour les écrans de démarrage.
    • Le type notification crée une fenêtre qui se comporte comme une notification système.
  • Sur macOS, les types possibles sont desktop, textured, panel.
    • Le type textured ajoute un aspect métal dégradé (NSWindowStyleMaskTexturedBackground).
    • Le type desktop place les fenêtre au niveau de l'arière plan. (kCGDesktopWindowLevel - 1). Remarque, la fenêtre du Bureau ne recevra pas le focus ni les évennements souris ou clavier, mais il est possible d'utiliser globalShortcut pour recevoir des entrées avec modération.
    • Le type panel permet à la fenêtre de flotter au-dessus des applications plein écran en ajoutant à l'exécution le masque de style NSWindowStyleMaskNonactivatingPanel , normalement réservé à NSPanel, . De plus, la fenêtre apparaîtra sur tous les espaces (bureaux).
  • Sur Windows, le seul type possible est toolbar.