BrowserWindow
Créer et gérer des fenêtres navigateur.
Processus : Main
// Dans le processus main.
const { BrowserWindow } = require('electron')
const win = new BrowserWindow({ width: 800, height: 600 })
// Load a remote URL
win.loadURL('https://github.com')
// Or load a local HTML file
win.loadFile('index.html')
Personnalisation de la fenêtre
La classe BrowserWindow
expose diverses façons de modifier l'apparence et le comportement de les fenêtres de votre application. Pour plus de détails, voir le tutoriel Personnalisation de la fenêtre .
Affichage gracieux de la fenêtre
Lors du chargement direct d’une page dans la fenêtre, les utilisateurs peuvent voir la page se charger progressivement, ce qui ne fait pas bonne impression pour une application native. Pour afficher la fenêtre sans flash visuel, il existe deux solutions pour différentes situations.
À l'aide de l'événement ready-to-show
Pendant le chargement de la page, l'événement ready-to-show
sera émis lorsque le process de rendu aura affiché la page pour la première fois si la fenêtre n'a pas encore été rendue. Afficher la fenêtre après cet événement évitera tout flash visuel :
const { BrowserWindow } = require('electron')
const win = new BrowserWindow({ show: false })
win.once('ready-to-show', () => {
win.show()
})
Cet événement est généralement émis après l’événement did-finish-load
, mais pour les pages avec beaucoup de ressources distantes, il peut être émis avant l’événement did-finish-load
.
Veuillez noter que l'utilisation de cet événement implique que le moteur de rendu soit considéré comme "visible" et rafraîchit, même si show
est à false. Cet événement ne se déclenchera jamais si vous utilisez paintWhenInitiallyHidden: false
Définition de la propriété backgroundColor
Pour une application complexe, l’événement ready-to-show
pourrait être émis trop tard, donnant une impression de lenteur. Dans ce cas, il est recommandé d'afficher la fenêtre immédiatement et d'utiliser un backgroundColor
proche de la couleur de fond de votre application :
const { BrowserWindow } = require('electron')
const win = new BrowserWindow({ backgroundColor: '#2e2c29' })
win.loadURL('https://github.com')
Notez que même pour les applications qui utilisent l'évènement ready-to-show
, il est toujours recommandé de définir backgroundColor
pour avoir un rendu plus natif.
Some examples of valid backgroundColor
values include:
const win = new BrowserWindow()
win.setBackgroundColor('hsl(230, 100%, 50%)')
win.setBackgroundColor('rgb(255, 145, 145)')
win.setBackgroundColor('#ff00a3')
win.setBackgroundColor('blueviolet')
For more information about these color types see valid options in win.setBackgroundColor.
Fenêtres parent et enfant
En utilisant l'option parent
, vous pouvez créer une fenêtre enfant:
const { BrowserWindow } = require('electron')
const top = new BrowserWindow()
const child = new BrowserWindow({ parent: top })
child.show()
top.show()
La fenêtre child
sera toujours au dessus de la fenêtre top
.
Fenêtres modales
Une fenêtre modale est une fenêtre enfant qui désactive la fenêtre parent. Pour créer une fenêtre modale, il faut définir les options parent
et modal
:
const { BrowserWindow } = require('electron')
const child = new BrowserWindow({ parent: top, modal: true, show: false })
child.loadURL('https://github.com')
child.once('ready-to-show', () => {
child.show()
})
Visibilité de la page
L'API de visibilité de la page fonctionne comme ci-dessous :
- Sur toutes les plateformes, l'état de visibilité suit l'état de la fenêtre cachée/minimisée ou pas.
- De plus, sur macOS, l'état de visibilité suit également l'état d'occlusion de la fenêtre. Si la fenêtre est occultée (c'est-à-dire entièrement recouverte) par une autre fenêtre, l'état de visibilité sera
hidden
. Sur les autres plateformes, l'état de visibilité serahidden
seulement lorsque la fenêtre est minimisée ou cachée explicitement avecwin.hide()
. - Si une
BrowserWindow
est crée avecshow:false
, l'état de visibilité initial seravisible
même si la fenêtre est cachée. - Si
backgroundThrottling
est désactivé, l'état de visibilité resteravisible
même si la fenêtre est minimisée, occultée ou cachée.
Il est recommandé de mettre en pause les opérations coûteuse lorsque l'état de visibilité est hidden
afin de minimiser la consommation d'énergie.
Avertissement sur les plateformes
- Sur macOS, les fenêtres modales seront affichés comme des feuilles attachées à la fenêtre parent.
- Sur macOS, la fenêtre enfant va garder la position relative à la fenêtre parent lorsque la fenêtre parent bouge. Sur Windows et Linux, la fenêtre enfant ne bougera pas.
- Sur Linux, le type des fenêtre modales sera changé par
dialog
. - Sur Linux, beaucoup d'environnements bureau ne peuvent pas cacher une fenêtre modale.
Classe : BrowserWindow
Créer et gérer des fenêtres navigateur.
Processus : Main
BrowserWindow
est un EventEmitter.
Cela crée une nouvelle BrowserWindow
avec les propriétés natives définies par les options
.
new BrowserWindow([options])
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
.
The possible values and behaviors of the type
option are platform dependent. Les valeurs possibles sont :
- Sur Linux, les types possible sont
desktop
,dock
,toolbar
,splash
,notification
. - On macOS, possible types are
desktop
,textured
.- Le type
textured
ajoute un aspect métal dégradé (NSTexturedBackgroundWindowMask
). - 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'utiliserglobalShortcut
pour recevoir des entrées avec modération.
- Le type
- Sur Windows, le type possible est
toolbar
.
Événements d’instance
Les objets crées avec new BrowserWindow
émettent les évennements suivants :
Remarque : Certains événements sont seulement disponibles sur des systèmes d'exploitation spécifiques et sont étiquetés comme tels.
Événement : 'page-title-updated'
Retourne :
event
Eventtitle
stringexplicitSet
boolean
Émis lorsque le document a changé son titre, appeler event.preventDefault()
empêchera le titre de la fenêtre native de changer. explicitSet
est faux lorsque le titre est synthétisé à partir de l'URL du fichier.
Événement : 'close'
Retourne :
event
Event
Emis lorsque la fenêtre va être fermée. Émis avant les événements beforeunload
et unload
du DOM. Appeler event.preventDefault()
annulera la fermeture.
Normalement, vous voudriez utiliser le gestionnaire beforeunload
pour décider si une fenêtre doit être fermée, ce qui sera aussi appelé lorsque la fenêtre est rechargée. Dans Electron, n'importe quelle valeur retournée autre que undefined
annulera la fermeture. Par exemple :
window.onbeforeunload = (e) => {
console.log('I do not want to be closed')
// Unlike usual browsers that a message box will be prompted to users, returning
// a non-void value will silently cancel the close.
// Il est recommandé d'utiliser l'API de dialogue afin de laisser l'utilisateur confirmer la fermeture de
// l'application.
e.returnValue = false
}
Note: Il existe une différence subtile entre les comportements de window.onbeforeunload = handler
et de window.addEventListener('beforeunload', handler)
. Il est recommendé de toujours spécifier l' event.returnValue
explicitement, plutôt que de seulement retourner une valeur, cette méthode fonctionne mieux avec Electron.
Événement : 'closed'
Il est emis lorsque la fenêtre est fermée. Après avoir reçu cet évenement, vous devrez supprimer la référence à la fenêtre et éviter de l'utiliser à nouveau.
Événement : 'session-end' Windows
Émis lorsque la session va se terminer à cause d'une redémarage, un éteignage forcé ou une déconnexion.
Événement : 'unresponsive'
Émis lorsque la page web cesse de répondre.
Événement : 'responsive'
Émis lorsque la page web répond à nouveau.
Événement : 'blur'
Émis lorsque la fenêtre perd le focus.
Événement : 'focus'
Émis lorsque la fenêtre obtient le focus.
Événement : 'show'
Émis lorsque la fenêtre est affichée.
Événement : 'hide'
Émis lorsque la fenêtre est masquée.
Événement : 'ready-to-show'
Émis lorsque la page web à été chargée (tout en n'était pas affichée) et la fenêtre peut être affichée sans flash visuel.
Veuillez noter que l'utilisation de cet événement implique que le moteur de rendu soit considéré comme "visible" et rafraîchit, même si show
est à false. Cet événement ne se déclenchera jamais si vous utilisez paintWhenInitiallyHidden: false
Événement : 'maximize'
Émis lorsque la fenêtre est agrandie.
Événement : 'unmaximize'
Émis lorsque la fenêtre quitte un état maximisé.
Événement : 'minimize'
Émis lorsque la fenêtre est réduite.
Événement : 'restore'
Émis lorsque la fenêtre est restaurée à partir d’un état réduit.
Événement : 'will-resize' macOS Windows
Retourne :
event
EventnewBounds
Rectangle - Taille de la fenêtre en cours de redimensionnage.- Objet
details
edge
(chaîne) - Le bord de la fenêtre en cours de déplacement pour redimensionner. Peut êtrebottom
,left
,right
,top-left
,top-right
,bottom-left
oubottom-right
.
Émis avant que la fenêtre ne soit redimensionnée. L’appel à event.preventDefault()
empêchera le redimensionnement de la fenêtre.
Notez que cela n'est émis que lorsque la fenêtre est redimensionnée manuellement. Le redimensionnement de la fenêtre avec setBounds
/setSize
n’émettra pas cet événement.
Les valeurs et comportements possibles de l'option edge
dépendent de la plateforme. Les valeurs possibles sont :
- Sous Windows, les valeurs possibles sont
bottom
,top
,left
,right
,top-left
,top-right
,bottom-left
,bottom-right
. - Sous macOS, les valeurs possibles sont
bottom
etright
.- La valeur
bottom
est utilisée pour indiquer un redimensionnement vertical. - La valeur
right
est utilisée pour indiquer un redimensionnement horizontal.
- La valeur
Événement : 'resize'
Émis après que la fenêtre soit redimensionnée.
Événement : 'resized' macOS Windows
Émis une fois que la fenêtre a fini d'être redimensionnée.
Ceci est généralement émis lorsque la fenêtre a été redimensionnée manuellement. Sur macOS, le redimensionnement de la fenêtre avec setBounds
/setSize
et le réglage du paramètre animate
à true
émettra également cet événement une fois le redimensionnement terminé.
Événement : 'will-move' macOS Windows
Retourne :
event
EventnewBounds
Rectangle - Emplacement où la fenêtre est en cours de déplacement.
Emitted before the window is moved. On Windows, calling event.preventDefault()
will prevent the window from being moved.
Note that this is only emitted when the window is being moved manually. Moving the window with setPosition
/setBounds
/center
will not emit this event.
Événement : 'move'
Émis lorsque la fenêtre est déplacée vers une nouvelle position.
Événement : 'moved' macOS Windows
Émis une fois lorsque la fenêtre est déplacée vers une nouvelle position.
Note : Sous macOS, cet événement est un alias de move
.
Événement : 'enter-full-screen'
Émis lorsque la fenêtre passe à un état de plein écran.
Événement : 'leave-full-screen'
Émis lorsque la fenêtre revient d'un état de plein écran.
Événement : 'enter-html-full-screen'
Émis lorsque la fenêtre entre dans un état de plein écran déclenchée par l’API HTML.
Événement : 'leave-html-full-screen'
Émis lorsque la fenêtre revient d'un état de plein écran déclenchée par l’API HTML.
Événement : 'always-on-top-changed'
Retourne :
event
EventisAlwaysOnTop
boolean
Émis lorsque la fenêtre est définie ou non définie pour toujours afficher au dessus des autres fenêtres.
Événement : 'app-command' Windows Linux
Retourne :
event
Eventcommand
string
Émis lorsqu'une App Command est appelée. Elles sont généralement liées aux touches multimédia du clavier ou aux commandes du navigateur, ainsi que le bouton "Retour" intégré à certaines souris sous Windows.
Les commandes sont en minuscules, les traits de soulignement sont remplacés par des traits d'union, et le préfixe APPCOMMAND_
est supprimé. par exemple APPCOMMAND_BROWSER_BACKWARD
est émise en tant que browser-backward
.
const { BrowserWindow } = require('electron')
const win = new BrowserWindow()
win.on('app-command', (e, cmd) => {
// Navigate the window back when the user hits their mouse back button
if (cmd === 'browser-backward' && win.webContents.canGoBack()) {
win.webContents.goBack()
}
})
Les commandes d'application suivantes sont explicitement prises en charge sur Linux :
browser-backward
browser-forward
Événement : 'scroll-touch-begin' macOS
Émis lorsque l’événement scroll de la souris a commencé.
Événement : 'scroll-touch-end' macOS
Émis lorsque l’événement scroll de la souris est terminée.
Événement : 'scroll-touch-edge' macOS
Émis lorsque l’événement scroll de la souris arrive au bord d'un élément.
Événement : 'swipe' macOS
Retourne :
event
Eventdirection
string
Emitted on 3-finger swipe. Possible directions are up
, right
, down
, left
.
The method underlying this event is built to handle older macOS-style trackpad swiping, where the content on the screen doesn't move with the swipe. Most macOS trackpads are not configured to allow this kind of swiping anymore, so in order for it to emit properly the 'Swipe between pages' preference in System Preferences > Trackpad > More Gestures
must be set to 'Swipe with two or three fingers'.
Événement : 'rotate-gesture' macOS
Retourne :
event
Eventrotation
Float
Émis lors du mouvement de rotation du trackpad. Émission continue jusqu'à la fin du geste de rotation. La valeur rotation
sur chaque émission est l'angle en degrés tourné depuis la dernière émission. Le dernier événement émis lors d'un geste de rotation sera toujours de la valeur 0
. Les valeurs de rotation dans le sens inverse des aiguilles d'une montre sont positives, tandis que les valeurs dans le sens horaire sont négatives.
Événement : 'sheet-begin' macOS
Émis lorsque la fenêtre ouvre une feuille.
Événement : 'sheet-end' macOS
Émis lorsque la fenêtre a fermé une feuille.
Événement : 'new-window-for-tab' macOS
Émis lorsque le bouton natif du nouvel onglet est cliqué.
Événement : 'system-context-menu' Windows
Retourne :
event
Eventpoint
Point - The screen coordinates the context menu was triggered at
Emitted when the system context menu is triggered on the window, this is normally only triggered when the user right clicks on the non-client area of your window. This is the window titlebar or any area you have declared as -webkit-app-region: drag
in a frameless window.
Calling event.preventDefault()
will prevent the menu from being displayed.
Méthodes statiques
La classe BrowserWindow
a les méthodes statiques suivantes :
BrowserWindow.getAllWindows()
Retourne BrowserWindow[]
- Un tableau de toutes les fenêtres ouvertes.
BrowserWindow.getFocusedWindow()
Retourne BrowserWindow | null
- La fenêtre qui est concentrée dans cette application, sinon retourne null
.
BrowserWindow.fromWebContents(webContents)
webContents
WebContents
Returns BrowserWindow | null
- The window that owns the given webContents
or null
if the contents are not owned by a window.
BrowserWindow.fromBrowserView(browserView)
browserView
BrowserView
Retourne BrowserWindow | null
- La fenêtre qui possède le browserView
. If the given view is not attached to any window, returns null
.
BrowserWindow.fromId(id)
id
Integer
Retourne BrowserWindow | null
- La fenêtre avec l'id
donné.
Propriétés d'instance
Les objets créés avec nouveau BrowserWindow
ont les propriétés suivantes :
const { BrowserWindow } = require('electron')
// In this example `win` is our instance
const win = new BrowserWindow({ width: 800, height: 600 })
win.loadURL('https://github.com')
win.webContents
Readonly
A WebContents
object this window owns. All web page related events and operations will be done via it.
Voir la webContents
documentation pour ses méthodes et ses événements.
win.id
Readonly
Une propriété Integer
représentant l'ID unique de la fenêtre. Chaque ID est unique parmi ceux des instances de BrowserWindow
de l'application Electron.
win.autoHideMenuBar
A boolean
property that determines whether the window menu bar should hide itself automatically. Once set, the menu bar will only show when users press the single Alt
key.
Si la barre de menu est déjà visible, le réglage de cette propriété sur true
ne le fera pas le cacher immédiatement.
win.simpleFullScreen
A boolean
property that determines whether the window is in simple (pre-Lion) fullscreen mode.
win.fullScreen
A boolean
property that determines whether the window is in fullscreen mode.
win.focusable
Windows macOS
A boolean
property that determines whether the window is focusable.
win.visibleOnAllWorkspaces
A boolean
property that determines whether the window is visible on all workspaces.
Note: Always returns false on Windows.
win.shadow
A boolean
property that determines whether the window has a shadow.
win.menuBarVisible
Windows Linux
A boolean
property that determines whether the menu bar should be visible.
Note: If the menu bar is auto-hide, users can still bring up the menu bar by pressing the single Alt
key.
win.kiosk
A boolean
property that determines whether the window is in kiosk mode.
win.documentEdited
macOS
A boolean
property that specifies whether the window’s document has been edited.
The icon in title bar will become gray when set to true
.
win.representedFilename
macOS
A string
property that determines the pathname of the file the window represents, and the icon of the file will show in window's title bar.
win.title
A string
property that determines the title of the native window.
Note: The title of the web page can be different from the title of the native window.
win.minimizable
Une propriété boolean
qui détermine si la fenêtre peut être minimisée manuellement par l'utilisateur.
Sur Linux, le setter est un no-op, bien que le getter retourne true
.
win.maximizable
Une propriété boolean
qui détermine si la fenêtre peut être agrandie manuellement par l'utilisateur.
Sur Linux, le setter est un no-op, bien que le getter retourne true
.
win.fullScreenable
Une propriété boolean
qui détermine si le bouton maximiser/zoom de la fenêtre active le mode plein écran ou maximise la fenêtre.
win.resizable
Une propriété boolean
qui détermine si la fenêtre peut être redimensionnée manuellement par l'utilisateur.
win.closable
Une propriété boolean
qui détermine si la fenêtre peut être fermée manuellement par l'utilisateur.
Sur Linux, le setter est un no-op, bien que le getter retourne true
.
win.movable
Une propriété boolean
qui détermine si la fenêtre peut être déplacée par l'utilisateur.
Sur Linux, le setter est un no-op, bien que le getter retourne true
.
win.excludedFromShownWindowsMenu
macOS
A boolean
property that determines whether the window is excluded from the application’s Windows menu. false
par défaut.
const win = new BrowserWindow({ height: 600, width: 600 })
const template = [
{
role: 'windowmenu'
}
]
gagne. xcludedFromShownWindowsMenu = true
const menu = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(menu)
win.accessibleTitle
A string
property that defines an alternative title provided only to accessibility tools such as screen readers. This string is not directly visible to users.
Méthodes d’instance
Les objets créés avec nouveau BrowserWindow
ont les méthodes d'instance suivantes :
Remarque : Certaines méthodes sont seulement disponibles sur des systèmes d'exploitation spécifiques et sont étiquetés comme tels.
win.destroy()
Forcer la fermeture de la fenêtre, les unload
et beforeunload
événement ne seront pas émises pour la page web, et l'évènement close
ne sera pas non plus émise pour cette fenêtre, mais il garantit que l'événement closed
sera émis.
win.close()
Try to close the window. This has the same effect as a user manually clicking the close button of the window. The web page may cancel the close though. See the close event.
win.focus()
Ramène la fenêtre au premier plan.
win.blur()
Supprime le focus de la fenêtre.
win.isFocused()
Retourne boolean
- Si la fenêtre est mise au point.
win.isDestroyed()
Retourne boolean
- Si la fenêtre est détruite.
win.show()
Affiche la fenêtre et la ramène au premier plan.
win.showInactive()
Affiche la fenêtre, mais ne la ramène pas au premier plan.
win.hide()
Masque la fenêtre.
win.isVisible()
Retourne boolean
- Si la fenêtre est visible pour l'utilisateur ou non.
win.isModal()
Retourne boolean
- Si la fenêtre actuelle est une fenêtre modale ou non.
win.maximize()
Maximizes the window. This will also show (but not focus) the window if it isn't being displayed already.
win.unmaximize()
Réduit la fenêtre à sa taille initiale.
win.isMaximized()
Retourne boolean
- Si la taille de la fenêtre est maximisée ou non.
win.minimize()
Minimizes the window. On some platforms the minimized window will be shown in the Dock.
win.restore()
Restaure la fenêtre depuis l'état réduit à son état précédent.
win.isMinimized()
Retourne boolean
- Si la taille de la fenêtre est minimisée ou non.
win.setFullScreen(flag)
flag
boolean
Définit si la fenêtre doit être en mode plein écran.
win.isFullScreen()
Retourne boolean
- Si la fenêtre est en plein écran ou non.
win.setSimpleFullScreen(flag)
macOS
flag
boolean
Entre ou sort du mode plein-écran simple.
Simple fullscreen mode emulates the native fullscreen behavior found in versions of macOS prior to Lion (10.7).
win.isSimpleFullScreen()
macOS
Retourne boolean
- Si la fenêtre est en mode plein-écran simple (pré-Lion) ou non.
win.isNormal()
Retourne boolean
- Si la fenêtre est dans son état normal (ni maximisée, ni minimisée, ni en plein écran).
win.setAspectRatio(aspectRatio[, extraSize])
aspectRatio
Float - L'aspect ratio à maintenir pour une partie de la vue de contenu .extraSize
Size (optional) macOS - The extra size not to be included while maintaining the aspect ratio.
Cela fera que la fenêtre maintient un ratio d'aspect. La taille supplémentaire permet à un développeur d'avoir de l'espace, spécifié en pixels, non inclus dans les calculs de ratio de l'aspect. Cette API prend déjà en compte la différence entre la taille d'une fenêtre et sa taille de contenu.
Considérez une fenêtre normale avec un lecteur vidéo HD et des commandes associées. Il y a peut-être 15 pixels de contrôles sur le bord gauche, 25 pixels de contrôles sur le bord droit et 50 pixels de contrôles sous le joueur. In order to maintain a 16:9 aspect ratio (standard aspect ratio for HD @1920x1080) within the player itself we would call this function with arguments of 16/9 and { width: 40, height: 50 }. Le deuxième argument ne se soucie pas du fait que la largeur et la hauteur supplémentaires sont dans la vue de contenu --seulement qu'elles existent. Sommez toute la largeur supplémentaire et les zones de hauteur que vous avez dans la vue de contenu globale.
The aspect ratio is not respected when window is resized programmatically with APIs like win.setSize
.
win.setBackgroundColor(backgroundColor)
backgroundColor
string - Color in Hex, RGB, RGBA, HSL, HSLA or named CSS color format. The alpha channel is optional for the hex type.
Examples of valid backgroundColor
values:
- Hex
- #fff (shorthand RGB)
- #ffff (shorthand ARGB)
- #ffffff (RGB)
- #ffffffff (ARGB)
- RGB
- rgb(([\d]+),\s([\d]+),\s([\d]+))
- e.g. rgb(255, 255, 255)
- rgb(([\d]+),\s([\d]+),\s([\d]+))
- RGBA
- rgba(([\d]+),\s([\d]+),\s([\d]+),\s*([\d.]+))
- e.g. rgba(255, 255, 255, 1.0)
- rgba(([\d]+),\s([\d]+),\s([\d]+),\s*([\d.]+))
- HSL
- hsl((-?[\d.]+),\s([\d.]+)%,\s([\d.]+)%)
- e.g. hsl(200, 20%, 50%)
- hsl((-?[\d.]+),\s([\d.]+)%,\s([\d.]+)%)
- HSLA
- hsla((-?[\d.]+),\s([\d.]+)%,\s([\d.]+)%,\s*([\d.]+))
- e.g. hsla(200, 20%, 50%, 0.5)
- hsla((-?[\d.]+),\s([\d.]+)%,\s([\d.]+)%,\s*([\d.]+))
- Color name
- Options are listed in SkParseColor.cpp
- Similar to CSS Color Module Level 3 keywords, but case-sensitive.
- e.g.
blueviolet
orred
- e.g.
Sets the background color of the window. See Setting backgroundColor
.
win.previewFile(path[, displayName])
macOS
path
string - Le chemin absolu vers le fichier à prévisualiser avec QuickLook. Ceci est important car Quick Look utilise le nom de fichier et l'extension de fichier sur le chemin pour déterminer le type de contenu du fichier à ouvrir.displayName
string (facultatif) - Le nom du fichier à afficher dans la vue modale de Quick Look . Ceci est purement visuel et n'affecte pas le type de contenu du fichier. Par défaut,chemin
.
Utilise Quick Look pour prévisualiser un fichier avec un chemin donné.
win.closeFilePreview()
macOS
Ferme le panneau Quick Look actuellement ouvert.
win.setBounds(bounds[, animate])
bounds
Partial<Rectangle>animate
boolean (facultatif) macOS
Redimensionne et déplace la fenêtre vers les limites fournies. Toutes les propriétés qui ne sont pas fournies seront par défaut à leurs valeurs actuelles.
const { BrowserWindow } = require('electron')
const win = new BrowserWindow()
// définit toutes les propriétés limites
gagner. etBounds({ x: 440, y: 225, width: 800, height: 600 })
// a fixé une propriété de simples limites
gagner. etBounds({ width: 100 })
// { x: 440, y: 225, width: 100, height: 600 }
console.log(win.getBounds())
win.getBounds()
Retourne Rectangle
- Un Object
contenant les bounds
de la fenêtre.
win.getBackgroundColor()
Returns string
- Gets the background color of the window in Hex (#RRGGBB
) format.
Note: The alpha value is not returned alongside the red, green, and blue values.
win.setContentBounds(bounds[, animate])
bounds
Rectangleanimate
boolean (facultatif) macOS
Redimensionne et déplace la zone client de la fenêtre (par exemple la page web) vers les limites fournies.
win.getContentBounds()
Retourne Rectangle
- Les limites
de la zone client de la fenêtre comme Object
.
win.getNormalBounds()
Retourne Rectangle
- Contient les limites de la fenêtre de l'état normal
Remarque : quel que soit l'état actuel de la fenêtre : maximisé, minimisé ou en plein écran, retourne toujours la position et la taille de la fenêtre en état normal. En état normal, getBounds et getNormalBounds renvoient le même Rectangle
.
win.setEnabled(enable)
enable
boolean
Active ou désactive la fenêtre.
win.isEnabled()
Retourne boolean
- Si la fenêtre est activée.
win.setSize(width, height[, animate])
width
Integerheight
Integeranimate
boolean (facultatif) macOS
Redimensionne la fenêtre à width
x height
. Si la largeur width
ou la hauteur height
sont inférieures aux minima définis, la fenêtre se limitera à sa taille minimale.
win.getSize()
Retourne Integer[]
- Contient la largeur et la hauteur de la fenêtre.
win.setContentSize(width, height[, animate])
width
Integerheight
Integeranimate
boolean (facultatif) macOS
Redimensionne la zone client de la fenêtre (par exemple la page web) à largeur
et hauteur
.
win.getContentSize()
Retourne Integer[]
- Contient la largeur et la hauteur de la zone client de la fenêtre.
win.setMinimumSize(width, height)
width
Integerheight
Integer
Définit la taille minimale de la fenêtre à width
et height
.
win.getMinimumSize()
Retourne Integer[]
- Contient la largeur et la hauteur minimale de la fenêtre.
win.setMaximumSize(width, height)
width
Integerheight
Integer
Définit la taille maximale de la fenêtre à width
et height
.
win.getMaximumSize()
Retourne Integer[]
- Contient la largeur et la hauteur maximale de la fenêtre.
win.setResizable(resizable)
resizable
boolean
Définit si la fenêtre peut être redimensionnée ou pas par l’utilisateur.
win.isResizable()
Retourne boolean
- Si la fenêtre peut être redimensionnée manuellement par l'utilisateur.
win.setMovable(movable)
macOS Windows
movable
boolean
Définit si la fenêtre peut être déplacée par l’utilisateur. N'a aucun effet sous Linux.
win.isMovable()
macOS Windows
Retourne boolean
- Si la fenêtre peut être déplacée par l'utilisateur.
Sous Linux, retourne toujours true
.
win.setMinimizable(minimizable)
macOS Windows
minimizable
boolean
Définit si la fenêtre peut être minimisée par l’utilisateur. N'a aucun effet sous Linux.
win.isMinimizable()
macOS Windows
Retourne boolean
- Si la fenêtre peut être minimisée par l'utilisateur.
Sous Linux, retourne toujours true
.
win.setMaximizable(maximizable)
macOS Windows
maximizable
boolean
Définit si la fenêtre peut être maximalisée par l’utilisateur. N'a aucun effet sous Linux.
win.isMaximizable()
macOS Windows
Retourne boolean
- Si la fenêtre peut être agrandie manuellement par l'utilisateur.
Sous Linux, retourne toujours true
.
win.setFullScreenable(fullscreenable)
fullscreenable
boolean
Définit si le bouton agrandir/zoom de la fenêtre active/désactive le mode plein écran ou agrandit la fenêtre.
win.isFullScreenable()
Returns boolean
- Whether the maximize/zoom window button toggles fullscreen mode or maximizes the window.
win.setClosable(closable)
macOS Windows
closable
boolean
Sets whether the window can be manually closed by user. N'a aucun effet sous Linux.
win.isClosable()
macOS Windows
Retourne boolean
- Si la fenêtre peut être fermée manuellement par l'utilisateur.
Sous Linux, retourne toujours true
.
win.setAlwaysOnTop(flag[, level][, relativeLevel])
flag
booleanlevel
string (facultatif) macOS Windows - Les valeurs incluentnormal
,floating
,torn-off-menu
,modal-panel
,main-menu
,statuus
,pop-up-menu
,screen-saver
, et ~dock
~~ (obsolète). La valeur par défaut estfloating
lorsqueflag
est vrai. Leniveau
est réinitialisé ànormal
lorsque le drapeau est faux. Notez que deflottant
àstatut
inclus, la fenêtre est placée sous le Dock sur macOS et sous la barre des tâches sous Windows. Depop-up-menu
à une valeur supérieure, il est affiché au-dessus du Dock sur macOS et au-dessus de la barre des tâches sur Windows. Voir la documentation macOS pour plus de détails.relativeLevel
Integer (facultatif) macOS - Le nombre de calques supérieur à définir cette fenêtre par rapport aulevel
. Par défaut,0
. Notez que Apple décourage le réglage de niveaux supérieurs à 1 au-dessus deéconomiseur d'écran
.
Sets whether the window should show always on top of other windows. After setting this, the window is still a normal window, not a toolbox window which can not be focused on.
win.isAlwaysOnTop()
Retourne boolean
- Si la fenêtre est toujours au-dessus des autres fenêtres ou non.
win.moveAbove(mediaSourceId)
mediaSourceId
string - Window id in the format of DesktopCapturerSource's id. Par exemple "window:1869:0".
Moves window above the source window in the sense of z-order. If the mediaSourceId
is not of type window or if the window does not exist then this method throws an error.
win.moveTop()
Déplace la fenêtre sur le dessus (dans l'ordre z) peu importe qu'elle ait le focus ou non
win.center()
Déplace la fenêtre vers le centre de l’écran.
win.setPosition(x, y[, animate])
x
Integery
Integeranimate
boolean (facultatif) macOS
Déplace la fenêtre à la position x
et y
.
win.getPosition()
Retourne Integer[]
- Contient la position actuelle de la fenêtre.
win.setTitle(title)
title
string
Remplace le titre de la fenêtre native par title
.
win.getTitle()
Retourne string
- le titre de la fenêtre native.
Remarque : Le titre de la page web peut être différent du titre de la fenêtre native .
win.setSheetOffset(offsetY[, offsetX])
macOS
offsetY
FloatoffsetX
Float (facultatif)
Changes the attachment point for sheets on macOS. By default, sheets are attached just below the window frame, but you may want to display them beneath a HTML-rendered toolbar. Par exemple :
const { BrowserWindow } = require('electron')
const win = new BrowserWindow()
const toolbarRect = document.getElementById('toolbar').getBoundingClientRect()
win.setSheetOffset(toolbarRect.height)
win.flashFrame(flag)
flag
boolean
Démarre ou arrête de flasher la fenêtre pour attirer l'attention de l'utilisateur.
win.setSkipTaskbar(skip)
skip
boolean
Fait que la fenêtre ne soit pas affichée dans la barre des tâches.
win.setKiosk(flag)
flag
boolean
Enters or leaves kiosk mode.
win.isKiosk()
Retourne boolean
- Si la fenêtre est en mode kiosque.
win.isTabletMode()
Windows
Returns boolean
- Whether the window is in Windows 10 tablet mode.
Since Windows 10 users can use their PC as tablet, under this mode apps can choose to optimize their UI for tablets, such as enlarging the titlebar and hiding titlebar buttons.
This API returns whether the window is in tablet mode, and the resize
event can be be used to listen to changes to tablet mode.
win.getMediaSourceId()
Returns string
- Window id in the format of DesktopCapturerSource's id. Par exemple "window:1324:0".
More precisely the format is window:id:other_id
where id
is HWND
on Windows, CGWindowID
(uint64_t
) on macOS and Window
(unsigned long
) on Linux. other_id
is used to identify web contents (tabs) so within the same top level window.
win.getNativeWindowHandle()
Retourne Buffer
- Le gestionnaire spécifique à la plate-forme de la fenêtre.
Le type natif du handle est HWND
sous Windows, NSView*
sur macOS, et Window
(long
non signé</0>) sous Linux.
win.hookWindowMessage(message, callback)
Windows
message
Integercallback
FunctionwParam
any - ThewParam
provided to the WndProclParam
any - ThelParam
provided to the WndProc
Hooks a windows message. La callback
est appelée lorsque le message est reçu dans le WndProc.
win.isWindowMessageHooked(message)
Windows
message
Integer
Retourne boolean
- true
ou false
selon que le message est accroché.
win.unhookWindowMessage(message)
Windows
message
Integer
Débranchez le message de la fenêtre.
win.unhookAllWindowMessages()
Windows
Décroche tous les messages de la fenêtre.
win.setRepresentedFilename(filename)
macOS
filename
string
Définit le chemin d'accès du fichier que la fenêtre représente, et l'icône du fichier s'affichera dans la barre de titre de la fenêtre.
win.getRepresentedFilename()
macOS
Retourne string
- Le chemin du fichier que la fenêtre représente.
win.setDocumentEdited(edited)
macOS
edited
boolean
Spécifie si le document de la fenêtre a été modifié, et l'icône dans la barre de titre deviendra grise lorsque réglé sur true
.
win.isDocumentEdited()
macOS
Retourne boolean
- Si le document de la fenêtre a été modifié.
win.focusOnWebView()
win.blurWebView()
win.capturePage([rect])
rect
Rectangle (facultatif) - Les limites à capturer
Retourne Promise<NativeImage>
- résout avec une NativeImage
Captures a snapshot of the page within rect
. Omitting rect
will capture the whole visible page. Si la page n'est pas visible, rect
peut être vide.
win.loadURL(url[, options])
url
string
Retourne Promise<void>
- la promesse se résoudra lorsque la page aura terminé le chargement (voir did-finish-load
), et rejette si la page ne parvient pas à se charger (voir did-fail-load
).
Même que webContents.loadURL(url[, options])
.
L'url
peut être une adresse distante (par exemple http://
) ou un chemin vers un fichier HTML local en utilisant le file://
protocole.
Pour s'assurer que les URL de fichier sont correctement formatées, il est recommandé d'utiliser la méthode Node's url.format
:
const url = require('url').format({
protocol: 'file',
slashes: true,
pathname: require('path').join(__dirname, 'index.html')
})
win.loadURL(url)
Vous pouvez charger une URL en utilisant une requête POST
avec des données encodées par URL en faisant ce qui suit :
win.loadURL('http://localhost:8000/post', {
postData: [{
type: 'rawData',
bytes: Buffer.from('hello=world')
}],
extraHeaders: 'Content-Type: application/x-www-form-urlencoded'
})
win.loadFile(filePath[, options])
filePath
string
Retourne Promise<void>
- la promesse se résoudra lorsque la page aura terminé le chargement (voir did-finish-load
), et rejette si la page ne parvient pas à se charger (voir did-fail-load
).
Same as webContents.loadFile
, filePath
should be a path to an HTML file relative to the root of your application. See the webContents
docs for more information.
win.reload()
Identique à webContents.reload
.
win.setMenu(menu)
Linux Windows
menu
Menu | null
Définit le menu
comme barre de menu de la fenêtre.
win.removeMenu()
Linux Windows
Retirez la barre de menu de la fenêtre.
win.setProgressBar(progress[, options])
progress
Double
Définit la valeur de progression dans la barre de progression. La plage valide est [0, 1.0].
Supprimer la barre de progression lorsque la progression < 0 ; Passer en mode indéterminé lorsque la progression > 1.
Sur la plate-forme Linux, ne prend en charge que l'environnement de bureau Unity, vous devez spécifier le nom du fichier *.desktop
au champ desktopName
dans package.json
. Par défaut, il assumera {app.name}.desktop
.
Sous Windows, un mode peut être passé. Les valeurs acceptées sont none
, normal
, indeterminate
, erreur
, et paused
. Si vous appelez setProgressBar
sans mode défini (mais avec une valeur dans la plage valide), normal
sera utilisé.
win.setOverlayIcon(overlay, description)
Windows
overlay
NativeImage | null - l'icône à afficher en bas à droite de l'icône de la barre des tâches. Si ce paramètre estnull
, l'overlay est effacédescription
chaîne - une description qui sera fournie aux lecteurs d'écran d'accessibilité
Définit une superposition de 16 x 16 pixels sur l'icône actuelle de la barre des tâches, généralement utilisé pour transmettre une sorte de statut d'application ou pour notifier passivement l'utilisateur.
win.setHasShadow(hasShadow)
hasShadow
boolean
Définit si la fenêtre doit avoir une ombre.
win.hasShadow()
Retourne boolean
- Si la fenêtre a une ombre.
win.setOpacity(opacity)
Windows macOS
opacité
nombre - entre 0.0 (entièrement transparent) et 1.0 (entièrement opaque)
Définit l'opacité de la fenêtre. Sur Linux, n'a aucun effet. Out of bound number values are clamped to the [0, 1] range.
win.getOpacity()
Returns number
- between 0.0 (fully transparent) and 1.0 (fully opaque). Sur Linux, renvoie toujours 1.
win.setShape(rects)
Windows Linux Experimental
rects
Rectangle[] - Sets a shape on the window. Passing an empty list reverts the window to being rectangular.
Définir une forme de fenêtre détermine la zone dans la fenêtre où le système permet de dessiner et d'interagir avec l'utilisateur. En dehors de la région donnée, aucun pixel ne sera dessiné et aucun événement de souris ne sera enregistré. Les événements de souris en dehors de la région ne seront pas reçus par cette fenêtre, mais passeront à tout ce qui se trouve derrière la fenêtre.
win.setThumbarButtons(buttons)
Windows
buttons
ThumbarButton[]
Retourne boolean
- Si les boutons ont été ajoutés avec succès
Ajouter une barre d'outils miniature avec un ensemble de boutons spécifié à l'image de miniature d'une fenêtre dans la disposition d'un bouton de la barre des tâches. Returns a boolean
object indicates whether the thumbnail has been added successfully.
Le nombre de boutons dans la barre d'outils miniature ne doit pas dépasser 7 en raison de la salle limitée. Une fois que vous avez configuré la barre d'outils miniature, la barre d'outils ne peut pas être retirée en raison de la limitation de la plateforme. Mais vous pouvez appeler l'API avec un tableau vide pour nettoyer les boutons.
Le boutons
est un tableau d'objets Bouton
:
- Objet
Button
icon
NativeImage - L'icône s'affichant dans la miniature dans la barre d'outils.click
Functiontooltip
string (facultatif) - Le texte dans l'info-bulle du bouton.flags
string[] (facultatif) - Contrôle les états et comportements spécifiques du bouton. Par défaut, il est['activé']
.
Le flags
est un tableau pouvant inclure ces string
s suivant :
enabled
- Le bouton est actif et disponible à l'utilisateur.désactivé
- Le bouton est désactivé. Il est présent, mais a un état visuel indiquant qu'il ne répondra pas à l'action de l'utilisateur.dismissonclick
- Lorsque le bouton est cliqué, la fenêtre de miniature se ferme immédiatement.nobackground
- Utilise uniquement l'image et ne dessine pas de bordure sur le bouton.hidden
- Le bouton n'est pas affiché à l'utilisateur.non interactif
- Le bouton est activé mais non interactif ; aucun état de bouton n'est dessiné. Cette valeur est destinée aux cas où le bouton est utilisé dans une notification.
win.setThumbnailClip(region)
Windows
region
Rectangle - La région de la fenêtre
Définit la région de la fenêtre à afficher comme image de miniature affichée lorsque survole la fenêtre dans la barre des tâches. Vous pouvez réinitialiser la miniature en toute la fenêtre en spécifiant une région vide : { x: 0, y: 0, width: 0, height: 0 }
.
win.setThumbnailToolTip(toolTip)
Windows
toolTip
string
Définit l'infobulle qui s'affiche en survolant la vignette de la fenêtre dans la barre des tâches.
win.setAppDetails(options)
Windows
- Objet
options
appId
string (facultatif) - Fenêtre App User Model ID. Elle doit être définie, sinon les autres options n'auront aucun effet.appIconPath
string (facultatif) - Fenêtre Icône de relance.appIconIndex
Integer (optional) - Index of the icon inappIconPath
. Ignored whenappIconPath
is not set. La valeur par défaut en est0
.relaunchCommand
string (facultatif) - La Relaunch Commandde Windows.relaunchDisplayName
string (facultatif) - Window's Relaunch Display Name.
Définit les propriétés du bouton de la barre des tâches de la fenêtre.
Note: relaunchCommand
and relaunchDisplayName
must always be set together. Si l'une de ces propriétés n'est pas définie, aucune ne sera utilisée.
win.showDefinitionForSelection()
macOS
Identique à webContents.showDefinitionForSelection()
.
win.setIcon(icon)
Windows Linux
icon
NativeImage | string
Change l'icône de la fenêtre.
win.setWindowButtonVisibility(visible)
macOS
visible
boolean
Définit si les boutons du feu de la fenêtre doivent être visibles.
win.setAutoHideMenuBar(hide)
hide
boolean
Définit si la barre de menus de la fenêtre doit se cacher automatiquement. Once set the menu bar will only show when users press the single Alt
key.
If the menu bar is already visible, calling setAutoHideMenuBar(true)
won't hide it immediately.
win.isMenuBarAutoHide()
Retourne boolean
- Si la barre de menu se cache automatiquement.
win.setMenuBarVisibility(visible)
Windows Linux
visible
boolean
Sets whether the menu bar should be visible. If the menu bar is auto-hide, users can still bring up the menu bar by pressing the single Alt
key.
win.isMenuBarVisible()
Retourne boolean
- Si la barre de menu est visible.
win.setVisibleOnWorkspaces(visible[, options])
visible
boolean
Définit si la fenêtre doit être visible sur tous les espaces de travail.
Remarque : Cette API ne fonctionne pas sous Windows.
win.isVisibleOnAllWorkspaces()
Retourne boolean
- Si la fenêtre est visible sur tous les espaces de travail.
Remarque : Cette API retourne toujours false sur Windows.
win.setIgnoreMouseEvents(ignore[, options])
ignore
boolean
Fait que la fenêtre ignore tous les événements de la souris.
Tous les événements survenus dans cette fenêtre seront passés à la fenêtre ci-dessous cette fenêtre, mais si cette fenêtre a le focus, elle recevra toujours les événements du clavier .
win.setContentProtection(enable)
macOS Windows
enable
boolean
Empêche le contenu de la fenêtre d'être capturé par d'autres applications.
On macOS it sets the NSWindow's sharingType to NSWindowSharingNone. On Windows it calls SetWindowDisplayAffinity with WDA_EXCLUDEFROMCAPTURE
. For Windows 10 version 2004 and up the window will be removed from capture entirely, older Windows versions behave as if WDA_MONITOR
is applied capturing a black window.
win.setFocusable(focusable)
macOS Windows
focusable
boolean
Modifie si la fenêtre peut être mise au point.
Sur macOS, il ne supprime pas le focus de la fenêtre.
win.isFocusable()
macOS Windows
Returns whether the window can be focused.
win.setParentWindow(parent)
parent
BrowserWindow | null
Définit parent
comme la fenêtre parent de la fenêtre actuelle, en passant null
transformera la fenêtre actuelle en une fenêtre de niveau supérieur.
win.getParentWindow()
Retourne BrowserWindow | null
- La fenêtre parente ou null
s'il n'y a pas de parent.
win.getChildWindows()
Retourne BrowserWindow[]
- Toutes les fenêtres enfants.
win.setAutoHideCursor(autoHide)
macOS
autoHide
boolean
Contrôle s'il faut masquer le curseur lors de la saisie.
win.selectPreviousTab()
macOS
Sélectionne l'onglet précédent lorsque les onglets natifs sont activés et il y a d'autres onglets dans la fenêtre.
win.selectNextTab()
macOS
Sélectionne l'onglet suivant lorsque les onglets natifs sont activés et il y a d'autres onglets dans la fenêtre.
win.mergeAllWindows()
macOS
Fusionne toutes les fenêtres dans une seule fenêtre avec plusieurs onglets lorsque les onglets natifs sont activés et qu'il y a plus d'une fenêtre ouverte.
win.moveTabToNewWindow()
macOS
Déplace l'onglet actuel dans une nouvelle fenêtre si les onglets natifs sont activés et il y a plus d'un onglet dans la fenêtre actuelle.
win.toggleTabBar()
macOS
Active/désactive la visibilité de la barre d’onglets si les onglets natifs sont activés et il n’y a qu’un seul onglet dans la fenêtre actuelle.
win.addTabbedWindow(browserWindow)
macOS
browserWindow
BrowserWindow
Ajoute une fenêtre sous la forme d'un onglet sur cette fenêtre, après l'onglet de l'instance de fenêtre.
win.setVibrancy(type)
macOS
type
string | null - Peut êtreappearance-based
,light
,dark
,titlebar
,selection
,menu
,popover
,sidebar
,medium-light
,ultra-dark
,header
,sheet
,window
,hud
,fullscreen-ui
,tooltip
,content
,sous-window
, ousous-page
. Voir la documentation macOS pour plus de détails.
Ajoute un effet de vibration à la fenêtre du navigateur. Passer null
ou une chaîne vide supprimera l’effet de vibration sur la fenêtre.
Notez que appearance-based
, light
, dark
, medium-light
, et ultra-dark
ont été obsolètes et seront supprimées dans une prochaine version de macOS.
win.setTrafficLightPosition(position)
macOS
position
Point
Définit une position personnalisée pour les boutons de feux de signalisation dans une fenêtre sans cadres.
win.getTrafficLightPosition()
macOS
Retourne Point
- La position personnalisée des boutons du feu de circulation dans la fenêtre sans cadre.
win.setTouchBar(touchBar)
macOS
touchBar
TouchBar | null
Définit la disposition de la barre tactile pour la fenêtre actuelle. La spécification null
ou undefined
efface la barre de contact. Cette méthode n'a d'effet que si la machine a une barre tactile et est en cours d'exécution sur macOS 10.12.1+.
Remarque : L’API TouchBar est actuellement expérimentale et peut changer ou être supprimée dans les futures mises à jour d'Electron.
win.setBrowserView(browserView)
Experimental
browserView
BrowserView | null - Attache unebrowserView
àwin
. Si d'autresBrowserView
sont déjà attachées, elles seront supprimés de cette fenêtre.
win.getBrowserView()
Expérimental
Retourne BrowserView | null
- La BrowserView
attachée à win
. Retourne null
si aucune n'est attachée. Lance une erreur si plusieurs BrowserView
sont attachées.
win.addBrowserView(browserView)
Expérimental
browserView
BrowserView
Remplacement de l'API pour setBrowserView prenant en charge le travail avec des vues multi navigateurs.
win.removeBrowserView(browserView)
Expérimental
browserView
BrowserView
win.setTopBrowserView(browserView)
Expérimental
browserView
BrowserView
Raises browserView
above other BrowserView
s attached to win
. Lance une erreur si browserView
n'est pas attaché à win
.
win.getBrowserViews()
Expérimental
Retourne BrowserView[]
- un tableau de toutes les BrowserViews qui ont été attachées avec addBrowserView
ou setBrowserView
.
Remarque : L’API BrowserView est actuellement expérimentale et peut changer ou être supprimée dans les futures mises à jour d'Electron.
win.setTitleBarOverlay(options)
Windows
- Objet
options
color
String (optional) Windows - The CSS color of the Window Controls Overlay when enabled.symbolColor
String (optional) Windows - The CSS color of the symbols on the Window Controls Overlay when enabled.height
Integer (optional) Windows - The height of the title bar and Window Controls Overlay in pixels.
On a Window with Window Controls Overlay already enabled, this method updates the style of the title bar overlay.