webContents
Gestion des pages web et de leur rendu.
Process: Main
webContents
est un EventEmitter. It is responsible for rendering and controlling a web page and is a property of the BrowserWindow
object. Exemple d'accès à l'objet webContents
:
const { BrowserWindow } = require('electron')
const win = new BrowserWindow({ width: 800, height: 1500 })
win.loadURL('https://github.com')
const contents = win.webContents
console.log(contents)
Événements de navigation
Plusieurs événements peuvent être utilisés pour surveiller les navigations qui se produisent dans un webContents
.
Navigations de documents
When a webContents
navigates to another page (as opposed to an in-page navigation), the following events will be fired.
did-start-navigation
will-frame-navigate
will-navigate
(only fired when main frame navigates)will-redirect
(only fired when a redirect happens during navigation)did-redirect-navigation
(only fired when a redirect happens during navigation)did-frame-navigate
did-navigate
(only fired when main frame navigates)
Les événements ultérieus ne se déclencheront pas si event.preventDefault()
est appelé sur l'un des événements annulables.
Navigation dans la page
Les navigations dans les pages ne provoquent pas le rechargement de la page, mais plutôt la navigation vers un emplacement dans la page courante. Ces événements ne sont pas annulables. Pour une navigation dans la page, les événements suivants vont se déclencher dans cet ordre:
Navigation dans la fenêtre
The will-navigate
and did-navigate
events only fire when the mainFrame navigates. If you want to also observe navigations in <iframe>
s, use will-frame-navigate
and did-frame-navigate
events.
Méthodes
Ces méthodes sont accessibles depuis le module webContents
:
const { webContents } = require('electron')
console.log(webContents)
webContents.getAllWebContents()
Retourne WebContents[]
- Un tableau de toutes les instances de WebContents
. Celui-ci contiendra les webContents
de toutes les fenêtres, webviews, devtools ouvertes et pages d'extention d'arrière-plan des devtools .
webContents.getFocusedWebContents()
Retourne WebContents | null
- Le contenu web qui a le focus dans cette application, sinon retourne null
.
webContents.fromId(id)
id
Integer
Retourne WebContents | undefined
- Une instance de WebContents dont l'ID est donné, ou undefined
si aucun contenu Web n’est associé à l'ID donné.
webContents.fromFrame(frame)
frame
WebFrameMain
Retourne WebContents | undefined
- Une instance de WebContents dont la WebFrameMain est donné, ou undefined
si aucun contenu Web n’est associé à la WebFrameMain.
webContents.fromDevToolsTargetId(targetId)
targetId
string - Le protocole Chrome DevTools TargetID associé à l'instance WebContents.
Retourne WebContents | undefined
- Une instance de WebContents dont le TargetID est donné, ou undefined
si aucun contenu Web n’est associé au TargetID.
Lors de la communication avec le protocole Chrome DevTools, il peut être utile de rechercher une instance WebContents par le TargetID qui lui est assigné.
async function lookupTargetId (browserWindow) {
const wc = browserWindow.webContents
await wc.debugger.attach('1.3')
const { targetInfo } = await wc.debugger.sendCommand('Target.getTargetInfo')
const { targetId } = targetInfo
const targetWebContents = await wc.fromDevToolsTargetId(targetId)
}
Classe : WebContents
Affiche et contrôle le contenu d'une instance de BrowserWindow.
Process: Main
This class is not exported from the 'electron'
module. Elle n'est disponible qu'en tant que valeur de retour des autres méthodes dans l'API Electron.
Événements d’instance
Événement : 'did-finish-load'
Émis lorsque la navigation a abouti, c'est à dire que le loader de l'onglet a cessé de tourner, et que l'événement onload
a été émis.
Événement : 'did-fail-load'
Retourne :
event
EventerrorCode
IntegererrorDescription
stringvalidatedURL
stringisMainFrame
booleanframeProcessId
IntegerframeRoutingId
Integer
Cet événement est comme did-finish-load
mais émis lorsque le chargement a échoué. La liste complète des codes d'erreur et leur signification est disponible ici.
Événement : 'did-fail-provisional-load'
Retourne :
event
EventerrorCode
IntegererrorDescription
stringvalidatedURL
stringisMainFrame
booleanframeProcessId
IntegerframeRoutingId
Integer
Cet événement est comme did-fail-load
mais émis lorsque la chargement a été annulé (par exemple par un appel à window.stop()
).
Événement : 'did-frame-finish-load'
Retourne :
event
EventisMainFrame
booleanframeProcessId
IntegerframeRoutingId
Integer
Émis lorsqu'un frame a fini sa navigation.
Événement : 'did-start-loading'
Correspond au moment où le loader de l'onglet commence à tourner.
Événement : 'did-stop-loading'
Correspond au moment où le loader de l'onglet arrête de tourner.
Événement : 'dom-ready'
Émis lorsque le document de la frame de plus haut niveau est chargé.
Événement : 'page-title-updated'
Retourne :
event
Eventtitle
stringexplicitSet
boolean
Emis lorsque le titre de la page est défini pendant la navigation. explicitSet
est à false lorsque le titre est synthétisé à partir de l’url du fichier.
Événement : 'page-favicon-updated'
Retourne :
event
Eventfavicons
string[] - Tableau d'URLs.
Émis lorsque la page reçoit l’url du favicon.
Événement : 'content-bounds-updated'
Retourne :
event
Eventbounds
Rectangle - requested new content bounds
Émis lorsque la page appelle window.moveTo
, window.resizeTo
ou par les API associées.
Par défaut, cela déplacera la fenêtre. Pour prévenir ce comportement, appelez event.preventDefault()
.
Événement : 'did-create-window'
Retourne :
window
BrowserWindow- Objet
details
url
string - l'URL de la fenêtre crée.frameName
string - Nom donné à la fenêtre crée lors de l'appel àwindow.open()
.referrer
Referrer - The referrer that will be passed to the new window. Peut selon la politique du référent entraîner ou non l'envoi de l'en-têteReferer
.postBody
PostBody (optional) - The post data that will be sent to the new window, along with the appropriate headers that will be set. Si aucune donnée ne doit être envoyée, la valeur seranull
. Est uniquement défini lorsque la fenêtre est créée par un formulaire définissanttarget=_blank
.disposition
string - La valeur peut êtredefault
,foreground-tab
,background-tab
,new-window
ouother
.
Émis suite à la création réussie d’une fenêtre via window.open
dans le moteur de rendu. Not emitted if the creation of the window is canceled from webContents.setWindowOpenHandler
.
See window.open()
for more details and how to use this in conjunction with webContents.setWindowOpenHandler
.
Événement : 'will-navigate'
Retourne :
details
Event<>url
string - L'URL vers laquelle la frame est en train de naviguer.isSameDocument
- Cet événement ne se déclenche pas pour les navigations à l'intérieur d'un même document à l’aide de l'api window.history et celles de fragments de référence. Cette propriété est toujours définie àfalse
pour cet événement.isMainFrame
booléen - Vrai si la navigation se déroule dans une frame principale.frame
WebFrameMain | null - The frame to be navigated. May benull
if accessed after the frame has either navigated or been destroyed.initiator
WebFrameMain | null (optional) - The frame which initiated the navigation, which can be a parent frame (e.g. viawindow.open
with a frame's name), or null if the navigation was not initiated by a frame. Peut également être null si la frame qui a initiée a été supprimée avant que l'événement ne soit émis.
url
chaîne __ DépréciéisInPlace
boolean__ DépréciéisMainFrame
boolean__ DépréciéframeProcessId
Integer__ DépréciéframeRoutingId
Integer __ Déprécié
Émis lorsqu'un utilisateur ou la page veut démarrer la navigation dans la frame principale. Cela peut se produire lorsque l’objet window.location
est modifié ou qu’un utilisateur clique sur un lien dans la page.
Cet événement ne sera pas émis lorsque la navigation démarre par programmation grâce aux APIs comme webContents.loadURL
et webContents.back
.
Il n’est pas non plus émis pour les navigations internes à la page, telles que le clic sur les liens d’ancrage ou la mise à jour du window.location.hash
. Vous devez utiliser pour cela l'événement did-navigate-in-page
.
Appeler event.preventDefault()
permet d'éviter la navigation.
Événement : 'will-frame-navigate'
Retourne :
details
Event<>url
string - L'URL vers laquelle la frame est en train de naviguer.isSameDocument
- Cet événement ne se déclenche pas pour les navigations à l'intérieur d'un même document à l’aide de l'api window.history et celles de fragments de référence. Cette propriété est toujours définie àfalse
pour cet événement.isMainFrame
booléen - Vrai si la navigation se déroule dans une frame principale.frame
WebFrameMain | null - The frame to be navigated. May benull
if accessed after the frame has either navigated or been destroyed.initiator
WebFrameMain | null (optional) - The frame which initiated the navigation, which can be a parent frame (e.g. viawindow.open
with a frame's name), or null if the navigation was not initiated by a frame. Peut également être null si la frame qui a initiée a été supprimée avant que l'événement ne soit émis.
Émis lorsqu'un utilisateur ou la page veut démarrer la navigation dans n'importe quelle frame. Cela peut se produire lorsque l’objet window.location
est modifié ou qu’un utilisateur clique sur un lien dans la page.
Contrairement à will-navigate
, will-frame-navigate
est déclenché lorsque la frame principale ou l'une de ses sous-frame tente de naviguer. Lorsque l'événement de navigation vient de la frame principale, isMainFrame
sera à true
.
Cet événement ne sera pas émis lorsque la navigation démarre par programmation grâce aux APIs comme webContents.loadURL
et webContents.back
.
Il n’est pas non plus émis pour les navigations internes à la page, telles que le clic sur les liens d’ancrage ou la mise à jour du window.location.hash
. Vous devez utiliser pour cela l'événement did-navigate-in-page
.
Appeler event.preventDefault()
permet d'éviter la navigation.
Événement : 'did-start-navigation'
Retourne :
details
Event<>url
string - L'URL vers laquelle la frame est en train de naviguer.isSameDocument
boolean - Indique si la navigation s'est produite sans modifier le document . Des exemples de navigation dans un même document sont le navigations de fragment de référence, les pushState/replaceState et la navigation dans l'historique de la même page.isMainFrame
booléen - Vrai si la navigation se déroule dans une frame principale.frame
WebFrameMain | null - The frame to be navigated. May benull
if accessed after the frame has either navigated or been destroyed.initiator
WebFrameMain | null (optional) - The frame which initiated the navigation, which can be a parent frame (e.g. viawindow.open
with a frame's name), or null if the navigation was not initiated by a frame. Peut également être null si la frame qui a initiée a été supprimée avant que l'événement ne soit émis.
url
chaîne __ DépréciéisInPlace
boolean__ DépréciéisMainFrame
boolean__ DépréciéframeProcessId
Integer__ DépréciéframeRoutingId
Integer __ Déprécié
Émis lorsqu’une frame (y compris principale) commence à naviguer.
Événement : 'will-redirect'
Retourne :
details
Event<>url
string - L'URL vers laquelle la frame est en train de naviguer.isSameDocument
boolean - Indique si la navigation s'est produite sans modifier le document . Des exemples de navigation dans un même document sont le navigations de fragment de référence, les pushState/replaceState et la navigation dans l'historique de la même page.isMainFrame
booléen - Vrai si la navigation se déroule dans une frame principale.frame
WebFrameMain | null - The frame to be navigated. May benull
if accessed after the frame has either navigated or been destroyed.initiator
WebFrameMain | null (optional) - The frame which initiated the navigation, which can be a parent frame (e.g. viawindow.open
with a frame's name), or null if the navigation was not initiated by a frame. Peut également être null si la frame qui a initiée a été supprimée avant que l'événement ne soit émis.
url
chaîne __ DépréciéisInPlace
boolean__ DépréciéisMainFrame
boolean__ DépréciéframeProcessId
Integer__ DépréciéframeRoutingId
Integer __ Déprécié
Émis lorsqu’une redirection côté serveur se produit pendant la navigation. Par exemple, une redirection 302 .
Cet événement sera émis après did-start-navigation
et pour la même navigation toujours avant l'événement did-redirect-navigation
.
L'appel à event.preventDefault()
empêchera la navigation (pas seulement la redirection).
Événement : 'did-start-navigation'
Retourne :
details
Event<>url
string - L'URL vers laquelle la frame est en train de naviguer.isSameDocument
boolean - Indique si la navigation s'est produite sans modifier le document . Des exemples de navigation dans un même document sont le navigations de fragment de référence, les pushState/replaceState et la navigation dans l'historique de la même page.isMainFrame
booléen - Vrai si la navigation se déroule dans une frame principale.frame
WebFrameMain | null - The frame to be navigated. May benull
if accessed after the frame has either navigated or been destroyed.initiator
WebFrameMain | null (optional) - The frame which initiated the navigation, which can be a parent frame (e.g. viawindow.open
with a frame's name), or null if the navigation was not initiated by a frame. Peut également être null si la frame qui a initiée a été supprimée avant que l'événement ne soit émis.
url
chaîne __ DépréciéisInPlace
boolean__ DépréciéisMainFrame
boolean__ DépréciéframeProcessId
Integer__ DépréciéframeRoutingId
Integer __ Déprécié
Émis après une redirection côté serveur pendant la navigation. Par exemple, une redirection 302 .
On ne peut pas éviter cet événement et si vous souhaitez empêcher les redirections, vous devez supprimer l’événement will-redirect
ci-dessus.
Événement : 'did-navigate'
Retourne :
event
Eventurl
stringhttpResponseCode
Integer - -1 fpour les navigations non HTTPhttpStatusText
string - vide pour les navigations non HTTP
Émis lorsque la navigation d'une fenêtre principale est terminée.
Cet événement n’est pas émis pour les navigations internes à la page, telles que le clic sur les liens d’ancrage ou la mise à jour du window.location.hash
. Vous devez utiliser pour cela l'événement did-navigate-in-page
.
Événement : 'did-navigate'
Retourne :
event
Eventurl
stringhttpResponseCode
Integer - -1 fpour les navigations non HTTPhttpStatusText
string - vide pour les navigations non HTTP,isMainFrame
booleanframeProcessId
IntegerframeRoutingId
Integer
Émis lorsqu'une navigation est terminée.
Cet événement n’est pas émis pour les navigations internes à la page, telles que le clic sur les liens d’ancrage ou la mise à jour du window.location.hash
. Vous devez utiliser pour cela l'événement did-navigate-in-page
.
Événement : 'did-navigate-in-page'
Retourne :
event
Eventurl
stringisMainFrame
booleanframeProcessId
IntegerframeRoutingId
Integer
Émis lors d'une navigation interne à la page et dans n’importe quelle frame.
En cas de navigation dans la page, l'URL de la page change mais ne provoque pas de navigation à l'extérieur de la page. Par exemple, lorsque vous cliquez sur un lien d'ancrage ou lorsque l'événement DOM hashchange
est déclenché.
Événement : 'will-prevent-unload'
Retourne :
event
Event
Émis lorsqu’un écouteur de l'événement beforeunload
tente d’annuler un déchargement de la page.
Appeler event.preventDefault()
ignorera l'écouteur de l'événement beforeunload
et va laisser la page se décharger.
const { BrowserWindow, dialog } = require('electron')
const win = new BrowserWindow({ width: 800, height: 600 })
win.webContents.on('will-prevent-unload', (event) => {
const choice = dialog.showMessageBoxSync(win, {
type: 'question',
buttons: ['Leave', 'Stay'],
title: 'Do you want to leave this site?',
message: 'Changes you made may not be saved.',
defaultId: 0,
cancelId: 1
})
const leave = (choice === 0)
if (leave) {
event.preventDefault()
}
})
Remarque: Cela sera émis pour lesBrowserViews
mais ne sera pas respecté - c’est parce que nous avons choisi de ne pas lier le cycle de vie de la BrowserView
à sa BrowserWindow propriétaire même s’il en existe une selon la spécification .
Événement : 'render-process-gone'
Retourne :
event
Eventdetails
RenderProcessGoneDetails
Émis lorsque le processus de rendu disparait de manière inattendue. C'est habituelement parce qu'il s'est planté ou qu'il a été tué.
É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 : 'plugin-crashed'
Retourne :
event
Eventname
stringversion
string
Émis lorsqu’un processus de plugin crash.
Événement : 'destroyed'
Émis lorsqu'un webContents
est détruit.
Événement : 'before-input-event'
Retourne :
event
EventinputEvent
InputEvent
Émis lorsqu'un événement d'entrée est envoyé au WebContents. See InputEvent for details.
Événement : 'before-input-event'
Retourne :
event
Eventinput
Object - Propriétés d’input.type
string - Les valeurs possibles sontkeyUp
etkeyDown
.key
string - Équivalent à KeyboardEvent.key.code
string - Équivalent à KeyboardEvent.code.isAutoRepeat
boolean - Équivalent à KeyboardEvent.repeat.isComposing
booléen - Équivalent à KeyboardEvent.isComposing.shift
boolean - Équivalent à KeyboardEvent.shiftKey.control
boolean - Équivalent à KeyboardEvent.controlKey.alt
boolean - Équivalent à KeyboardEvent.altKey.meta
boolean - Équivalent à KeyboardEvent.metakey.location
number - 'Equivalent à KeyboardEvent.location.modifiers
string[] - See InputEvent.modifiers.
Émis avant d'envoyer les événements keydown
et keyup
dans la page. Appeler event.preventDefault
empêchera les événements keydown
/keyup
et les raccourcis du menu dans la page.
Pour empêcher uniquement les raccourcis de menu, utilisez setIgnoreMenuShortcuts
:
const { BrowserWindow } = require('electron')
const win = new BrowserWindow({ width: 800, height: 600 })
win.webContents.on('before-input-event', (event, input) => {
// Par exemple, active seulement les raccourcis clavier vers le menu de l'application
// lorsque les touches Ctrl/Cmd sont enfoncées.
win.webContents.setIgnoreMenuShortcuts(!input.control && !input.meta)
})
É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 : 'zoom-changed'
Retourne :
event
EventzoomDirection
string - Les valeurs possibles sontin
etout
.
Émis lorsque l'utilisateur demande à changer le niveau de zoom en utilisant la molette de la souris.
Événement : 'blur'
Émis lorsque le WebContents
perd le focus.
Événement : 'focus'
Émis lorsque le WebContents
acquiert le focus.
Notez que sur macOS, le fait d’avoir le focus signifie que le WebContents
est le premier intervenant de la fenêtre, de sorte que le basculement du focus entre les fenêtres ne déclenche pas les événements focus
et blur
de WebContents
, car le premier intervenant de chaque fenêtre n’est pas modifié.
Les événements focus
et blur
de WebContents
ne doivent être utilisés que pour détecter changement de focus entre différents WebContents
et BrowserView
dans la même fenêtre. .
Événement : 'devtools-opened'
Retourne :
event
Eventurl
string - URL du lien qui a été cliqué ou sélectionné.
Émis lorsqu'un lien est cliqué dans DevTools ou qu'"Ouvrir dans un nouvel onglet" est sélectionné pour un lien dans son menu contextuel.
Event: 'devtools-search-query'
Retourne :
event
Eventquery
string - text to query for.
Emitted when 'Search' is selected for text in its context menu.
Événement : 'devtools-opened'
Émis lorsque la DevTools est ouverte.
Événement : 'devtools-closed'
Émis lorsque la DevTools est fermée.
Événement : 'devtools-focused'
Émis lorsque la DevTools est active / ouverte.
Événement 'certificate-error'
Retourne :
event
Eventurl
stringerror
string - Le code d'erreur.certificate
Certificatecallback
FunctionisTrusted
boolean - Indique si le certificat peut être considéré comme fiable.
isMainFrame
boolean
Émis lorsqu'il n'a pas pu vérifier le certificat
de l'url
.
The usage is the same with the certificate-error
event of app
.
Événement : 'select-client-certificate'
Retourne :
event
Eventurl
URLcertificateList
Certificate[]callback
Functioncertificate
Certificate - Must be a certificate from the given list.
Émis lorsqu'un certificat client est demandé.
L'utilisation est pareil que l'événement select-client-certificate
de app
.
Événement : 'login'
Retourne :
event
Event- Objet
authenticationResponseDetails
url
URL
- Objet
authInfo
isProxy
booleanscheme
stringhost
stringport
Integerrealm
string
callback
Functionusername
string (facultatif)password
string (facultatif)
Émis lorsque webContents
veut faire une authentification normale.
The usage is the same with the login
event of app
.
Événement : 'found-in-page'
Retourne :
event
Eventresult
ObjectrequestId
IntegeractiveMatchOrdinal
Integer - Position du résultat actif.matches
Integer - Nombre de résultats.sélectionArea
Rectangle - Coordonnées de la région de la première correspondance.finalUpdate
boolean
Émis lorsqu'un résultat est disponible suite à une requête webContents.findInPage
.
Événement : 'media-started-playing'
Émis lorsqu'un média se démarre.
Événement : 'media-paused'
Émis lorsque le média est suspendu ou terminé.
Événement : 'audio-state-changed'
Retourne :
event
Event<>audible
booléen - Vrai si une ou plusieurs frames ouwebContents
enfants émettent de l'audio.
Émis lorsque les médias deviennent audibles ou inaudibles.
Événement : 'did-change-theme-color'
Retourne :
event
Eventcolor
(string | null) - La couleur du thème est au format '#rrggbb'. Il estnull
lorsqu’aucune couleur de thème n’est définie.
Émis lorsque la couleur du thème d'une page change. Cela est généralement dû à la rencontre d'une balise meta :
<meta name='theme-color' content='#ff0000'>
Événement : 'update-target-url'
Retourne :
event
Eventurl
string
Émis lorsque la souris passe sur un lien ou le clavier déplace le focus vers un lien.
Événement : 'cursor-changed'
Retourne :
event
Eventtype
stringimage
NativeImage (optional)scale
Float (facultatif) - Facteur de mise à l'échelle pour le curseur personnalisé.size
Size (optional) - the size of theimage
.hotspot
Point (optional) - coordinates of the custom cursor's hotspot.
Émis lorsque le type du curseur change. Le paramètre type
peut prenrde une des valeurs suivantes: pointer
, crosshair
, hand
, text
, wait
, help
, e-resize
, n-resize
, ne-resize
, nw-resize
, s-resize
, se-resize
, sw-resize
, w-resize
, ns-resize
, ew-resize
, nesw-resize
, nwse-resize
, col-resize
, row-resize
, m-panning
, m-panning-vertical
, m-panning-horizontal
, e-panning
, n-panning
, ne-panning
, nw-panning
, s-panning
, se-panning
, sw-panning
, w-panning
, move
, vertical-text
, cell
, context-menu
, alias
, progress
, nodrop
, copy
, none
, not-allowed
, zoom-in
, zoom-out
, grab
, grabbing
, custom
, null
, drag-drop-none
, drag-drop-move
, drag-drop-copy
, drag-drop-link
, ns-no-resize
, ew-no-resize
, nesw-no-resize
, nwse-no-resize
, ou default
.
If the type
parameter is custom
, the image
parameter will hold the custom cursor image in a NativeImage
, and scale
, size
and hotspot
will hold additional information about the custom cursor.
Événement : 'context-menu'
Retourne :
event
Eventparams
Objectx
Integer - coordonnée x.y
Integer - coordonée y.frame
WebFrameMain | null - Frame from which the context menu was invoked. May benull
if accessed after the frame has either navigated or been destroyed.linkURL
string - L'URL du lien qui englobe le node du menu contextuel.linkText
string - Texte associé au lien. Peut être une chaîne vide si le contenu du lien est une image.pageURL
string - L'URL de la page de plus haut niveau d'où le menu contextuel a été appelé.frameURL
string - L'URL de la subframe d'où le menu contextuel a été appelé.- chaîne
srcURL
: URL de la source de l’élément par lequel le menu contextuel a été appelé. Les éléments avec des URL sources peuvent être des images, de l’audio ou de la vidéo. mediaType
string - Type de node par lequel le menu contextuel a été appelé. Peut êtrenone
,image
,audio
,vidéo
,toile
,fichier
ouplugin
.hasImageContents
boolean - Indique si le menu contextuel a été appelé à partir d'une image au contenu non-vide.isEditable
boolean - Indique si le contexte est modifiable ou pas.selectionText
string - Texte de la sélection à partir de laquelle le menu contextuel a été appelé.titleText
string : Texte dutitle
de la sélection à partir de laquelle le menu contextuel a été appelé.altText
string - Texte de remplacement (alt
) de la sélection à partir de laquelle le menu contextuel a été appelé.- chaîne
suggestedFilename
- Nom de fichier suggéré à utiliser lors de l’enregistrement du fichier via l’option « Enregistrer le lien sous » du menu contextuel. selectionRect
Rectangle - Rect representing the coordinates in the document space of the selection.selectionStartOffset
number- Position de départ du texte de la sélection.referrerPolicy
Referrer - Stratégie du réferrer de la frame à partir de laquelle le menu est appelé.misspelledWord
string - The misspelled word under the cursor, if any.dictionarySuggestions
string[] - An array of suggested words to show the user to replace themisspelledWord
. Uniquement disponible si un mot est mal orthographié et que le correcteur orthographique est activé.frameCharset
string - The character encoding of the frame on which the menu was invoked.formControlType
string - The source that the context menu was invoked on. Possible values includenone
,button-button
,field-set
,input-button
,input-checkbox
,input-color
,input-date
,input-datetime-local
,input-email
,input-file
,input-hidden
,input-image
,input-month
,input-number
,input-password
,input-radio
,input-range
,input-reset
,input-search
,input-submit
,input-telephone
,input-text
,input-time
,input-url
,input-week
,output
,reset-button
,select-list
,select-list
,select-multiple
,select-one
,submit-button
, andtext-area
,spellcheckEnabled
boolean - Indique si la vérification orthographique est activée ou non dans les cas où le contexte est éditable,.menuSourceType
string - Source de l'appel au menu contextuel. Peut être une de ces valeursnone
,mouse
,keyboard
,touch
,touchMenu
,longPress
,longTap
,touchHandle
,stylus
,adjustSelection
,adjustSelectionReset
.mediaFlags
Object - Les drapeaux de l'élément multimédia sur lequel le menu contextuel a été appelé .inError
boolean - Si l'élément multimédia s'est planté.isPaused
boolean - Indique si l'élément multimédia est en pause.isMuted
boolean - Indique si le son de l'élément multimédia est coupé.hasAudio
boolean - Si l'élément multimédia possède une piste audio.isLooping
boolean - Indique si l'élément multimédia est en boucle.isControlsVisible
boolean - Indique si les contrôles de l'élément multimédia sont visibles.canToggleControls
boolean - Si les contrôles de l'élément multimédia peuvent être acivés ou désactivés.canPrint
booléen - Indique si on peut faire une impression à partir de l'élément multimédia.canSave
booléen - Indique si l'élément multimédia peut être téléchargé ou non.canShowPictureInPicture
boolean - Indique si l'élément multimédia peut s'afficher en mode "picture-in-picture".isShowingPictureInPicture
booléen - Indique si l'élément multimédia est actuellement affiché en mode "picture-in-picture".canRotate
boolean - Indique si on peut faire pivoter l'élément multimédia.canLoop
booléen - Indique si l'élément multimédia peut être mis en mode boucle.
editFlags
Object - Ces drapeaux indiquent si le moteur de rendu estime être en mesure d'effectuer l'action correspondante.canUndo
boolean - Indique si le moteur de rendu estime pouvoir aller en arrière.canRedo
boolean - Indique si le moteur de rendu estimepouvoir aller en avant.canCut
boolean - Indique si le moteur de rendu estime pouvoir couper.canCopy
boolean - Indique si le moteur de rendu estime pouvoir copier.canPaste
boolean - Indiqe si le moteur de rendu estime pouvoir coller.canDelete
boolean - Indique si le moteur de rendu estime pouvoir supprimer.canSelectAll
boolean - Indiqe si le moteur de rendu estime pouvoir tout sélectionner.canEditRichly
boolean - Indique si le moteur de rendu pense pouvoir editer du texte avec des styles.
Émis lorsqu'un nouveau menu contextuel a besoin d'être pris en charge.
Événement : 'select-bluetooth-device'
Retourne :
event
Eventdevices
BluetoothDevice[]callback
FunctiondeviceId
string
Émis lorsqu’un périphérique bluetooth doit être sélectionné lors d’un appel à navigator.bluetooth.requestDevice
. callback
doit être appelé avec le deviceId
du dispositif à sélectionner. Le passage d'une chaîne vide à la callback
annulera la demande.
Si aucun écouteur d’événement na été ajouté pour cet événement, ou si event.preventDefault
n’est pas appelé lors du traitement de cet événement, le premier appareil disponible sera sélectionné automatiquement.
En raison de la nature de bluetooth, l'exploration des appareils lorsque navigator.bluetooth.requestDevice
est appelée peut prendre du temps et causer l'émission de plusieurs select-bluetooth-device
avant que callback
ne soit appelé avec un identifiant de périphérique ou une chaîne vide pour annuler la requête.
const { app, BrowserWindow } = require('electron')
let win = null
app.whenReady().then() => {
win = new BrowserWindow({ width: 800, height: 600 })
win.webContents.on('select-bluetooth-device', (event, deviceList, callback) => {
event.preventDefault()
const result = deviceList.find((device) => {
retour device.deviceName ==='test'
})
si (!result) {
// L’appareil n’a pas été trouvé, nous devons donc attendre (eg jusqu'à
// ce que l’appareil soit activé) ou annuler la demande en appelant la callback
// avec une chaîne vide.
callback('')
} else {
callback(result.deviceId)
}
})
})
Événement : 'paint'
Retourne :
details
Event<>texture
OffscreenSharedTexture (optional) Experimental - The GPU shared texture of the frame, whenwebPreferences.offscreen.useSharedTexture
istrue
.
dirtyRect
Rectangleimage
NativeImage - The image data of the whole frame.
Émis lorsqu’une nouvelle frame est générée. Only the dirty area is passed in the buffer.
const { BrowserWindow } = require('electron')
const win = new BrowserWindow({ webPreferences: { offscreen: true } })
win.webContents.on('paint', (event, dirty, image) => {
// updateBitmap(dirty, image.getBitmap())
})
win.loadURL('https://github.com')
When using shared texture (set webPreferences.offscreen.useSharedTexture
to true
) feature, you can pass the texture handle to external rendering pipeline without the overhead of copying data between CPU and GPU memory, with Chromium's hardware acceleration support. This feature is helpful for high-performance rendering scenarios.
Only a limited number of textures can exist at the same time, so it's important that you call texture.release()
as soon as you're done with the texture. By managing the texture lifecycle by yourself, you can safely pass the texture.textureInfo
to other processes through IPC.
const { BrowserWindow } = require('electron')
const win = new BrowserWindow({ webPreferences: { offscreen: { useSharedTexture: true } } })
win.webContents.on('paint', async (e, dirty, image) => {
if (e.texture) {
// By managing lifecycle yourself, you can handle the event in async handler or pass the `e.texture.textureInfo`
// to other processes (not `e.texture`, the `e.texture.release` function is not passable through IPC).
await new Promise(resolve => setTimeout(resolve, 50))
// You can send the native texture handle to native code for importing into your rendering pipeline.
// For example: https://github.com/electron/electron/tree/main/spec/fixtures/native-addon/osr-gpu
// importTextureHandle(dirty, e.texture.textureInfo)
// You must call `e.texture.release()` as soon as possible, before the underlying frame pool is drained.
e.texture.release()
}
})
win.loadURL('https://github.com')
Événement : 'devtools-reload-page'
Émis quand la fenêtre des outils développeur demande aux webContents de se recharger
Événement : 'will-attach-webview'
Retourne :
event
EventwebPreferences
WebPreferences - The web preferences that will be used by the guest page. Cet objet peut être modifié pour ajuster les préférences de la page hôte .params
Record<string, string> - The other<webview>
parameters such as thesrc
URL. Cet objet peut être modifié pour ajuster les préférences de la page hôte .
Émis lorsque le contenu web d'une <webview>
est attaché à ce webContents. L'appel à event.preventDefault()
détruira la page hôte.
Cet événement peut être utilisé pour configurer les webPreferences
des webContents
d'une <webview>
avant son chargement, et fournit la possibilité de définir des paramètres qui ne peuvent pas être définis via les attributs d'une <webview>
.
Événement : 'will-attach-webview'
Retourne :
event
EventwebContents
WebContents - Les contenus web invités qui sont utilisés par<webview>
.
Émis quand un <webview>
a été rattaché à ce contenu web.
Événement : 'console-message'
Retourne :
event
Eventlevel
Integer - Le niveau de logging, de 0 à 3. Correspondant dans l'ordre croissant àverbose
,info
,warning
eterror
.message
string - Message actuel de la consoleline
Integer - Numéro de la ligne du source qui a déclenché le message affiché dans la consolesourceId
string
Émis lorsque la fenêtre associée affiche un message de log dans la console.
Événement : 'preload-error'
Retourne :
event
EventpreloadPath
stringerror
Error
Émis lorsque le script de préchargement preloadPath
lance une exception non gérée error
.
Événement : 'ipc-message'
Retourne :
event
IpcMainEventchannel
string...args
any[]
Émis lorsque le processus de rendu envoie un message asynchrone via ipcRenderer.send()
.
See also webContents.ipc
, which provides an IpcMain
-like interface for responding to IPC messages specifically from this WebContents.
Événement : 'ipc-message'
Retourne :
event
IpcMainEventchannel
string...args
any[]
Émis lorsque le processus de rendu envoie un message synchrone via ipcRenderer.sendSync()
.
See also webContents.ipc
, which provides an IpcMain
-like interface for responding to IPC messages specifically from this WebContents.
Événement : 'preferred-size-changed'
Retourne :
event
EventpreferredSize
Size - The minimum size needed to contain the layout of the document—without requiring scrolling.
Émis lorsque la taille préférée du WebContents
a changé.
Cet événement ne sera émis que lorsque enablePreferredSizeMode
est défini à true
dans webPreferences
.
Évènement : 'session-created'
Retourne :
event
Event- Objet
details
frame
WebFrameMain | null - The created frame. May benull
if accessed after the frame has either navigated or been destroyed.
Emitted when the mainFrame, an <iframe>
, or a nested <iframe>
is loaded within the page.
Méthodes d’instance
contents.loadURL(url[, options])
url
string
Returns Promise<void>
- the promise will resolve when the page has finished loading (see did-finish-load
), and rejects if the page fails to load (see did-fail-load
). Un gestionnaire de rejet vide est déjà attaché, ce qui évite les erreurs de rejet non traitées.
Charge l'url
dans la fenêtre. Cette url
doit contenir le préfixe du protocole, comme par exemple http://
ou file://
. Si le chargement doit contourner le cache http, alors utilisez pour cela l'en-tête pragma
.
const win = new BrowserWindow()
const options = { extraHeaders: 'pragma: no-cache\n' }
win.webContents.loadURL('https://github.com', options)
contents.loadFile(filePath[, options])
filePath
string
Returns Promise<void>
- the promise will resolve when the page has finished loading (see did-finish-load
), and rejects if the page fails to load (see did-fail-load
).
Charge le fichier donné dans la fenêtre, filePath
doit être le chemin d'un fichier HTML et relatif par rapport à la racine de votre application. Par exemple une structure d'application comme celle-ci :
| root
| - package.json
| - src
| - main.js
| - index.html
Nécessitera du code comme celui ci
const win = new BrowserWindow()
win.loadFile('src/index.html')
contents.downloadURL(url[, options])
url
string
Lance le téléchargement de la ressource située à l'url
sans naviguer. L'événement will-download
de session
sera déclenché.
contents.getURL()
Retourne string
- l'URL de la page web courante.
const { BrowserWindow } = require('electron')
const win = new BrowserWindow({ width: 800, height: 600 })
win.loadURL('https://github.com').then(() => {
const currentURL = win.webContents.getURL()
console.log(currentURL)
})
contents.getTitle()
Retourne string
- le titre de la page web courante.
contents.isDestroyed()
Retourne boolean
- Indique si la page web est détruite.
contents.close([opts])
opts
Object (facultatif)waitForBeforeUnload
booléen - si true, l'événementbeforeunload
sera déclenché avant la fermeture de la page. Si la page empêche le déchargement, le WebContents ne sera pas fermé. Dans un tel cas l'événementwill-prevent-unload
sera déclenché.
Ferme la page, comme si le contenu web avait exécuté window.close()
.
Si la page est fermée avec succès (c'est à dire que le déchargement n'est pas empêché par la page, que ou waitForBeforeUnload
est à false ou non spécifié), lWebContents sera supprimé et plus utilisable. L'événement destroyed
sera alors émis.
contents.focus()
Met au premier plan la page web.
contents.isFocused()
Retourne boolean
- Indique si la page Web a le focus.
contents.isLoading()
Retourne boolean
- Indique si la page Web est encore en train de charger des ressources.
contents.isLoadingMainFrame()
Retourne boolean
- Si la frame principale (et pas seulement un iframe ou frames qu'il contient) sont toujours en chargement.
contents.isWaitingForResponse()
Retourne boolean
-Indique si la page web est en attente d'une première réponse de la principale ressource de la page.
contents.stop()
Arrête toute navigation en attente.
contents.reload()
Recharge la page web courante.
contents.reloadIgnoringCache()
Recharge la page courante et ignore le cache.
contents.canGoBack()
__ obsolète
History
Version(s) | Changes |
---|---|
None | API DEPRECATED |
Retourne boolean
- Indique si le navigateur peut revenir à la page Web précédente.
Déprécié : Vous devez utiliser la nouvelle API contents.navigationHistory.canGoBack
.
contents.canGoForward()
__ obsolète
History
Version(s) | Changes |
---|---|
None | API DEPRECATED |
Retourne boolean
- Indique si le navigateur peut aller à la page Web suivante.
Déprécié : Vous devez utiliser la nouvelle API contents.navigationHistory.canGoForward
.
contents.canGoToOffset(offset)
__ obsolète
History
Version(s) | Changes |
---|---|
None | API DEPRECATED |
offset
Integer
Retourne boolean
- Indique si la page web peut aller à offset
.
Déprécié : Vous devez utiliser la nouvelle API contents.navigationHistory.canGoToOffset
.
contents.clearHistory()
__ obsolète
History
Version(s) | Changes |
---|---|
None | API DEPRECATED |
Efface l'historique de navigation.
Deprecated: Should use the new contents.navigationHistory.clear
API.
contents.goBack()
__ obsolète
History
Version(s) | Changes |
---|---|
None | API DEPRECATED |
Fait revenir le navigateur en arrière d'une page web.
Deprecated: Should use the new contents.navigationHistory.goBack
API.
contents.goForward()
__ obsolète
History
Version(s) | Changes |
---|---|
None | API DEPRECATED |
Fait avancer le navigateur d'une page web.
Déprécié : Vous devez utiliser la nouvelle API contents.navigationHistory.goForward
.
contents.goToIndex(index)
__ obsolète
History
Version(s) | Changes |
---|---|
None | API DEPRECATED |
index
Integer
Fait naviguer le navigateur vers l'index de page web absolu spécifié.
Déprécié : Vous devez utiliser la nouvelle API contents.navigationHistory.goToIndex
.
contents.goToOffset(offset)
__ obsolète
History
Version(s) | Changes |
---|---|
None | API DEPRECATED |
offset
Integer
Navigue vers l'offset spécifié à partir de l' "entrée courante".
Déprécié : Vous devez utiliser la nouvelle API contents.navigationHistory.goToOffset
.
contents.isCrashed()
Retourne boolean
- Indique si le processus de rendu a planté.
contents.forcefullyCrashRenderer()
Termine énergiquement le processus de rendu qui héberge actuellement ce webContents
. Cela provoquera l'émission de l'événement render-process-gone
indiquant la cause avec reason=killed || reason=crashed
. Veuillez noter que certains webContents se partagent un même processus de rendu et donc que l'appel de cette méthode par d'autres webContents peut également faire planter le processus hôte. .
L'appeler à reload()
immédiatement après avoir appelé cette méthode forcera le rechargement à se produire dans un nouveau processus. Ceci devra être utilisé lorsque le processus est instable ou inutilisable, par exemple pour se rétablir suite à l'événement unresponsive
.
const win = new BrowserWindow()
win.webContents.on('unresponsive', async () => {
const { response } = await dialog.showMessageBox({
message: 'App X has become unresponsive',
title: 'Do you want to try forcefully reloading the app?',
buttons: ['OK', 'Cancel'],
cancelId: 1
})
if (response === 0) {
win.webContents.forcefullyCrashRenderer()
win.webContents.reload()
}
})
contents.setUserAgent(userAgent)
userAgent
string
Surcharge l'agent utilisateur de cette page web.
contents.getUserAgent()
Retourne string
- l'agent utilisateur de la page web.
contents.insertCSS(css[, options])
css
string
Retourne Promise<string>
- Une promesse qui se résout avec une clé pour le CSS inséré qui peut être utilisé plus tard pour supprimer le CSS via contents.removeInsertedCSS(key)
.
Injecte du CSS dans la page Web actuelle et renvoie une clé unique pour la feuille de style insérée .
const win = new BrowserWindow()
win.webContents.on('did-finish-load', () => {
win.webContents.insertCSS('html, body { background-color: #f00; }')
})
contents.removeInsertedCSS(key)
key
string
Retourne Promise<void>
- se résolvant si la suppression a réussi.
Supprime de la page web actuelle le CSS inséré. La feuille de style est identifiée par sa clé, qui est retournée par contents.insertCSS(css)
.
const win = new BrowserWindow()
win.webContents.on('did-finish-load', async () => {
const key = await win.webContents.insertCSS('html, body { background-color: #f00; }')
win.webContents.removeInsertedCSS(key)
})
contents.executeJavaScript(code[, userGesture])
code
stringuserGesture
boolean (facultatif) -false
par défaut.
Retourne Promise<any>
- Une promesse qui se résout avec le résultat du code exécuté ou se rejette si le résultat du code est une promesse rejetée.
Évalue le code
dans la page.
Dans la fenêtre du navigateur, certaines APIs HTML comme requestFullScreen
peut être invoqué seulement par un geste de l'utilisateur. Définir userGesture
à true
supprimera cette limitation.
L'exécution du code sera suspendue jusqu'à la fin du chargement de la page web.
const win = new BrowserWindow()
win.webContents.executeJavaScript('fetch("https://jsonplaceholder.typicode.com/users/1").then(resp => resp.json())', true)
.then((result) => {
console.log(result) // Sera l'objet JSON provenant de l'appel à fetch
})
contents.executeJavaScriptInIsolatedWorld(worldId, scripts[, userGesture])
worldId
Integer - L'ID du monde dans lequel exécuter le javascript,0
est le monde par défaut,999
est le monde utilisé par la fonctionnalitécontextIsolation
d'Electron. Sinon vous pouvez fournir n'importe quel entier.scripts
WebSource[]userGesture
boolean (facultatif) -false
par défaut.
Retourne Promise<any>
- Une promesse qui se résout avec le résultat du code exécuté ou se rejette si le résultat du code est une promesse rejetée.
Fonctionne comme executeJavaScript
mais en évaluant le scripts
dans un contexte isolé.
contents.setIgnoreMenuShortcuts(ignore)
ignore
boolean
Ignorer les raccourcis du menu des applications lorsque ce contenu Web a le focus.
contents.setWindowOpenHandler(handler)
-
handler
Function<WindowOpenHandlerResponse>- Objet
details
url
string - La a résolu la version de l'URL passée àwindow.open()
. par exemple, ouvrir une fenêtre avecwindow.open('foo')
donnera quelque chose commehttps://the-origin/the/current/path/foo
.frameName
string - Nom de la fenêtre fourni danswindow.open()
features
string - Liste séparée par des virgules des fonctionnalités de fenêtre fournies àwindow.open()
.disposition
string - La valeur peut êtredefault
,foreground-tab
,background-tab
,new-window
ouother
.referrer
Referrer - The referrer that will be passed to the new window. Peut selon la politique du référent entraîner ou non l'envoi de l'en-tête duReferer
.postBody
PostBody (optional) - The post data that will be sent to the new window, along with the appropriate headers that will be set. Si aucune donnée ne doit être envoyée, la valeur seranull
. Défini uniquement dans le cas où la fenêtre est créée par un formulaire définissanttarget=_blank
.
Returns
WindowOpenHandlerResponse
- When set to{ action: 'deny' }
cancels the creation of the new window.{ action: 'allow' }
permettra la création de la nouvelle fenêtre. Le retour d’une valeur non reconnue telle que null, undefined ou d'un objet dont la propriété ’action' n'est pas reconnue entraînera une erreur dans la console et aura le même effet que le retour de{action: 'deny'}
. - Objet
Appelé avant la création d'une fenêtre, une nouvelle fenêtre est demandée par le moteur de rendu, p. ex. par window.open()
, un lien avec target="_blank"
, Maj + clic sur un lien, ou soumettant un formulaire avec <form target="_blank">
. See window.open()
for more details and how to use this in conjunction with did-create-window
.
An example showing how to customize the process of new BrowserWindow
creation to be BrowserView
attached to main window instead:
const { BrowserView, BrowserWindow } = require('electron')
const mainWindow = new BrowserWindow()
mainWindow.webContents.setWindowOpenHandler((details) => {
return {
action: 'allow',
createWindow: (options) => {
const browserView = new BrowserView(options)
mainWindow.addBrowserView(browserView)
browserView.setBounds({ x: 0, y: 0, width: 640, height: 480 })
return browserView.webContents
}
}
})
contents.setAudioMuted(muted)
muted
boolean
Couper le son sur la page web actuelle.
contents.isAudioMuted()
Renvoie boolean
- Si cette page a été rendu muette.
contents.isCurrentlyAudible()
Retourne boolean
- Indique si l'audio est en cours de lecture.
contents.setZoomFactor(factor)
factor
Double - Facteur de zoom ; la valeur par défaut est 1.0.
Modifie le facteur de zoom en utilisant le facteur spécifié. Le Zoom factor est égal à la valeur du zoom exprimée en pourcent divisée par 100, donc 300% = 3.0.
Le rapport doit être supérieur à 0.0.
contents.getZoomFactor()
Retourne number
- Le facteur de zoom actuel.
contents.setZoomLevel(level)
level
number - Niveau de zoom.
Modifie le niveau de zoom jusqu'au niveau spécifié. La taille originale est de 0 et chaque incrément au-dessus ou en dessous représente un zoom de 20% supérieur ou inférieure jusqu'au limites de 300% et 50% de la taille originale, respectivement. La formule pour cela est 'scale:= 1,2 ^ level
.
NOTE: La politique du zoom au niveau de Chromium est same-origin, ce qui signifie que le niveau de zoom pour un domaine spécifique se propage à travers toutes les instances de fenêtres du même domaine. Une différenciation de l'URL des fenêtre assignera un niveau de zoom par fenêtre.
contents.getZoomLevel()
Retourne number
- Le niveau de zoom actuel.
contents.setVisualZoomLevelLimits(minimumLevel, maximumLevel)
minimumLevel
numbermaximumLevel
number
Retourne Promise<void>
Définit le niveau maximum et minimum le niveau pinch-to-zoom.
NOTE: Le zoom visuel est désactivé par défaut dans Electron. Pour le réactiver:
const win = new BrowserWindow()
win.webContents.setVisualZoomLevelLimits(1, 3)
contents.undo()
Exécute la commande d'édition undo
dans la page web.
contents.redo()
Exécute la commande d'édition redo
dans la page web.
contents.cut()
Exécute la commande d'édition cut
dans la page web.
contents.copy()
Exécute la commande d'édition copy
dans la page web.
contents.centerSelection()
Centre la sélection de texte en cours dans la page Web.
contents.copyImageAt(x, y)
x
Integery
Integer
Copie de l'image à la position donnée dans le presse-papiers.
contents.paste()
Exécute la commande d'édition paste
dans la page web.
contents.pasteAndMatchStyle()
Exécute la commande d'édition pasteAndMatchStyle
dans la page web.
contents.delete()
Exécute la commande d'édition delete
dans la page web.
contents.selectAll()
Exécute la commande d'édition selectAll
dans la page web.
contents.unselect()
Exécute la commande d'édition unselect
dans la page web.
contents.scrollToTop()
Défile vers le haut de la webContents
actuelle.
contents.scrollToBottom()
Défile vers le bas de la webContents
actuelle.
contents.adjustSelection(options)
- Objet
options
start
Number (facultatif) - Valeur du déplacement de l'index de début de la sélection actuelle.end
Number (facultatif) - Valeur du déplacement de l'index de fin de la sélection actuelle.
Ajuste les points de début et de fin de la sélection de texte en cours dans la frame ayant le focus sur les valeurs indiquées. Une valeur négative déplacera la sélection vers le début du document et une positive vers la fin du document.
Exemple :
const win = new BrowserWindow()
// Ajuste le début de la sélection d'une lettre vers l'avant,
// et la fin de la sélection de 5 lettres vers l'avant.
win.webContents.adjustSelection({ start: 1, end: 5 })
// Ajuste le début de la sélection de deux lettres vers l'avant,
// et la fin de la sélection de 3 lettres vers l'arrière.
win.webContents.adjustSelection({ start: 2, end: -3 })
Pour un appel à win.webContents.adjustSelection({ start: 1, end: 5 })
Avant:
Après:
contents.replace(text)
text
string
Exécute la commande d'édition replace
dans la page web.
contents.replaceMisspelling(text)
text
string
Exécute la commande d'édition replaceMisspelling
dans la page web.
contents.insertText(text)
text
string
Retourne Promise<void>
Insère le text
à l'élément ciblé.
contents.findInPage(text[, options])
text
string - Contenu à rechercher, ne doit pas être vide.
Retourne Integer
- L'identifiant de requête utilisé pour la requête.
Démarre une requête pour trouver toutes les concordances avec le text
dans la page web. The result of the request can be obtained by subscribing to found-in-page
event.
contents.stopFindInPage(action)
action
string - Spécifie l'action à effectuer à la fin de la requêtewebContents.findInPage
.clearSelection
- Effacer la sélection.keepSelection
- Convertir la sélection en une sélection normale.activateSelection
- Donne le focus au node de la sélection et effectue un click.
Arrête toute requête findInPage
associée à l' action
fournie envers le webContents
.
const win = new BrowserWindow()
win.webContents.on('found-in-page', (event, result) => {
if (result.finalUpdate) win.webContents.stopFindInPage('clearSelection')
})
const requestId = win.webContents.findInPage('api')
console.log(requestId)
contents.capturePage([rect, opts])
rect
Rectangle (optional) - The area of the page to be captured.opts
Object (facultatif)stayHidden
boolean (facultatif) - Maintient la page cachée au lieu de visible. Par défaut la valeur estfalse
.stayAwake
boolean (facultatif) - Maintient le système hors veille. Par défaut la valeur estfalse
.
Returns Promise<NativeImage>
- Resolves with a NativeImage
Capture un instantané de la zone de la page définie par rect
. Une capture de la page entière sera réalisée en l'absence de rect
. La page est considérée visible lorsque sa BrowserWindow est cachée et que le nombre de captations n'est pas nul. Si vous souhaitez que la page reste cachée, vous devez vous assurer que stayHidden
soit bien défini à true.
contents.isBeingCaptured()
Renvoie boolean
- Indique si cette page est en cours de capture. It returns true when the capturer count is greater than 0.
contents.getPrintersAsync()
Récupère la liste des imprimantes système.
Returns Promise<PrinterInfo[]>
- Resolves with a PrinterInfo[]
contents.print([options], [callback])
callback
Function (facultatif)success
booléen - Indique le succès de l'appel à l'impression.- Chaîne
failureReason
- La description de l'erreur appelée si l'impression échoue.
Lorsqu'une pageSize
personnalisée est transmise, Chromium tente de valider par rapport aux valeurs minimales spécifiques à la plate-forme width_microns
et height_microns
. La largeur et la hauteur doivent être au moins 353 microns mais peuvent être plus élevées sur certains systèmes d'exploitation.
Imprime la page web de la fenêtre. Lorsque silent
est défini à true
, Electron choisira l'imprimante par défaut du système si deviceName
est vide ainsi que les paramètres d'impression par défaut.
Utiliser le style CSS page-break-before: always;
pour forcer l'impression vers une nouvelle page.
Exemple d'utilisation :
const win = new BrowserWindow()
const options = {
silent: true,
deviceName: 'My-Printer',
pageRanges: [{
from: 0,
to: 1
}]
}
win.webContents.print(options, (success, errorType) => {
if (!success) console.log(errorType)
})
contents.printToPDF(options)
- Objet
options
landscape
booléen (facultatif) - Orientation du papier.true
pour le paysage,false
pour le portrait. false par défaut.displayHeaderFooter
boolean (facultatif) - Indique si on affiche l'en-tête et le pied de page. false par défaut.printBackground
boolean (facultatif) - Indique si om imprimer ou non les graphiques en arrière-plan. false par défaut.scale
number(optional) - Scale of the webpage rendering. 1 par défaut.pageSize
string | Taille (facultatif) - Spécifie la taille de la page du PDF généré. Peut êtreA0
,A1
,A2
,A3
,A4
,A5
,A6
,Legal
,Letter
,Tabloid
,Ledger
, ou un objet contenantheight
etwidth
pouces.Letter
par défaut.margins
Object (facultatif)top
number (facultatif) - Marge supérieure exprimée en pouces. 1cm par défaut (~0.4 pouce).bottom
number (facultatif) - Marge inférieure exprimée en pouces. 1cm par défaut (~0.4 pouce).left
number (facultatif) - Marge gauche exprimée en pouces. 1cm par défaut (~0.4 pouce).right
number (facultatif) - Marge droite exprimée en pouces. 1cm par défaut (~0.4 pouce).
pageRanges
string (facultatif) - Plage des pages à imprimer, ex: '1-5, 8, 11-13'. Par défaut: une chaîne vide, signifiant d'afficher toutes les pages.headerTemplate
string (facultatif) - Modèle du HTML de l'entête d'impression. Doit être un balisage HTML valide avec les classes suivantes utilisées pour y injecter les valeurs d’impression :date
(date d’impression formatée),title
(titre du document),url
(emplacement du document),pageNumber
(numéro de page actuel) ettotalPages
(nombre total de pages dans le document). Par exemple,<span class=title></span>
générera un span contenant le titre.footerTemplate
string (facultatif) - Modèle du HTML du pied de page d'impression. Doit utiliser le même format que leheaderTemplate
.preferCSSPageSize
boolean (facultatif) - Indique si on optera ou non pour la taille de page définie par le css. Faux par défaut, auquel cas le contenu sera mis à l'échelle pour s'adapter à la taille du papier.generateTaggedPDF
boolean (optional) Experimental - Whether or not to generate a tagged (accessible) PDF. false par défaut. As this property is experimental, the generated PDF may not adhere fully to PDF/UA and WCAG standards.generateDocumentOutline
boolean (optional) Experimental - Whether or not to generate a PDF document outline from content headers. false par défaut.
Retourne une Promise<Buffer>
-se résolvant avec les données PDF générées.
Imprime en PDF la page web de la fenêtre.
Le landscape
sera ignoré si la règle CSS de @page
est utilisée dans la page web.
Un exemple de webContents.printToPDF
:
const { app, BrowserWindow } = require('electron')
const fs = require('node:fs')
const path = require('node:path')
const os = require('node:os')
app.whenReady().then(() => {
const win = new BrowserWindow()
win.loadURL('https://github.com')
win.webContents.on('did-finish-load', () => {
// Use default printing options
const pdfPath = path.join(os.homedir(), 'Desktop', 'temp.pdf')
win.webContents.printToPDF({}).then(data => {
fs.writeFile(pdfPath, data, (error) => {
if (error) throw error
console.log(`Wrote PDF successfully to ${pdfPath}`)
})
}).catch(error => {
console.log(`Failed to write PDF to ${pdfPath}: `, error)
})
})
})
Voir Page.printToPdf pour plus d'informations.
contents.addWorkSpace(path)
path
string
Ajoute le chemin spécifié à l'espace de travail des DevTools. Cela doit être effectué après la création des DevTools :
const { BrowserWindow } = require('electron')
const win = new BrowserWindow()
win.webContents.on('devtools-opened', () => {
win.webContents.addWorkSpace(__dirname)
})
contents.removeWorkSpace(path)
path
string
Supprime le chemin spécifié de l'espace de travail des DevTools.
contents.setDevToolsWebContents(devToolsWebContents)
devToolsWebContents
WebContents
Utilise le devToolsWebContents
comme le WebContents
cible pour afficher les outils de développement.
Le devToolsWebContents
ne doit fait aucune navigation et ne doit pas être utilisé à d'autres fins après l'appel.
Par défaut, Electron gère les devtools en créant un WebContents
interne avec une vue native sur laquelle les développeurs ont un contrôle très limité. Avec la méthode setDevToolsWebContents
, les développeurs peuvent utiliser n'importe quel WebContents
pour y afficher les devtools, cela inclus les BrowserWindow
, BrowserView
et balises <webview>
.
Notez que la fermeture des devtools ne détruit pas le devToolsWebContents
, il est de la responsabilité de l’appelant de détruire devToolsWebContents
.
Exemple d'affichage des devtools dans une balise <webview>
:
<html>
<head>
<style type="text/css">
* { margin: 0; }
#browser { height: 70%; }
#devtools { height: 30%; }
</style>
</head>
<body>
<webview id="browser" src="https://github.com"></webview>
<webview id="devtools" src="about:blank"></webview>
<script>
const { ipcRenderer } = require('electron')
const emittedOnce = (element, eventName) => new Promise(resolve => {
element.addEventListener(eventName, event => resolve(event), { once: true })
})
const browserView = document.getElementById('browser')
const devtoolsView = document.getElementById('devtools')
const browserReady = emittedOnce(browserView, 'dom-ready')
const devtoolsReady = emittedOnce(devtoolsView, 'dom-ready')
Promise.all([browserReady, devtoolsReady]).then(() => {
const targetId = browserView.getWebContentsId()
const devtoolsId = devtoolsView.getWebContentsId()
ipcRenderer.send('open-devtools', targetId, devtoolsId)
})
</script>
</body>
</html>
// Main process
const { ipcMain, webContents } = require('electron')
ipcMain.on('open-devtools', (event, targetContentsId, devtoolsContentsId) => {
const target = webContents.fromId(targetContentsId)
const devtools = webContents.fromId(devtoolsContentsId)
target.setDevToolsWebContents(devtools)
target.openDevTools()
})
Exemple d'affichage des devtools dans une BrowserWindow
:
const { app, BrowserWindow } = require('electron')
let win = null
let devtools = null
app.whenReady().then(() => {
win = new BrowserWindow()
devtools = new BrowserWindow()
win.loadURL('https://github.com')
win.webContents.setDevToolsWebContents(devtools.webContents)
win.webContents.openDevTools({ mode: 'detach' })
})
contents.openDevTools([options])
Ouvre les devtools.
Lorsque contents
est une balise <webview>
, le mode
sera detach
par défaut, passer explicitement un mode
vide peut forcer l'utilisation du dernier état de dock utilisé.
Sous Windows, si l'Overlay des contrôle Windows est activé, les Devtools seront ouverts avec mode: 'detach'
.
contents.closeDevTools()
Ferme les devtools.
contents.isDevToolsOpened()
Retourne boolean
- Si les devtools sont ouverts.
contents.isDevToolsFocused()
Retourne un boolean
- qui indique si les devtools ont le focus.
contents.getDevToolsTitle()
Retourne une string
- qui est le titre actuel de la fenêtre des DevTools. Il ne sera visible que si les DevTools sont ouverts en mode detach
ou undocked
.
contents.setDevToolsTitle(title)
title
string
Met le titre de la fenêtre des DevTools à title
. Il ne sera visible que si les DevTools sont ouverts en mode detach
ou undocked
.
contents.toggleDevTools()
Active/désactive les devtools du developpeur.
contents.inspectElement(x, y)
x
Integery
Integer
Démarre l’inspection de l’élément en position (x
, y
).
contents.inspectSharedWorker()
Ouvre les outils de développement pour le contexte de travail partagé.
contents.inspectSharedWorkerById(workerId)
workerId
string
Inspecte le processus partagé en fonction de son ID.
contents.getAllSharedWorkers()
Returns SharedWorkerInfo[] - Information about all Shared Workers.
contents.inspectServiceWorker()
Ouvre les outils de développement pour le contexte de worker de service.
contents.send(channel, ...args)
channel
string...args
any[]
Envoyez un message asynchrone et un certain nombre d'arguments au processus de rendu via channel
. . Arguments will be serialized with the Structured Clone Algorithm, just like postMessage
, so prototype chains will not be included. L’envoi de fonctions, de promesses, de symboles, de WeakMaps ou de WeakSets lèvera une exception.
NOTE: L'envoi de types Javascript non standards tels que des objets DOM ou des objets spéciaux Electron est déprécié, et déclenchera une exception.
For additional reading, refer to Electron's IPC guide.
contents.sendToFrame(frameId, channel, ...args)
frameId
Integer | [number, number] - l’ID de la frame de destination, ou une paire de[processId, frameId]
si la frame est dans un processus différent de la frame principale.channel
string...args
any[]
Envoie un message asynchrone au processus principal via channel
, ainsi que des arguments. Les arguments seront sérialisés avec le Structured Clone Algorithm, tout comme postMessage
, de sorte que les chaînes prototypes ne seront pas incluses. L'envoie de Functions, Promises, Symbols, WeakMaps, ou WeakSets déclenchera une exception.
NOTE: L'envoi de types Javascript non standards tels que des objets DOM ou des objets spéciaux Electron est déprécié, et déclenchera une exception à partir d'Electron 9.
The renderer process can handle the message by listening to channel
with the ipcRenderer
module.
Si vous voulez obtenir le frameId
d'un contexte de rendu donné, vous devez utiliser la valeur webFrame.routingId
. Exemple :
// Dans un processus de rendu
console.log('Mon frameId est:', require('electron').webFrame.routingId)
Vous pouvez également lire le frameId
de tous les messages IPC entrants dans le processus principal.
// Dans le processus principal
ipcMain.on('ping', (event) => {
console.info('Le message est venu de frameId:', event.frameId)
})
contents.postMessage(channel, message, [transfer])
channel
stringmessage
anytransfer
MessagePortMain[] (facultatif)
Send a message to the renderer process, optionally transferring ownership of zero or more MessagePortMain
objects.
Les objets MessagePortMain
transférés seront disponibles dans le processus de rendu en accédant à la propriété ports
de l'événement émis. Ils seront des objets DOM MessagePort
natifs en arrivant dans le moteur de rendu.
Par exemple :
// Processus principal
const win = new BrowserWindow()
const { port1, port2 } = new MessageChannelMain()
win.webContents.postMessage('port', { message: 'hello' }, [port1])
// Processus s de rendu
ipcRenderer.on('port', (e, msg) => {
const [port] = e.ports
// ...
})
contents.enableDeviceEmulation(parameters)
- Object
parameters
screenPosition
string - Indique le type d'écran à émuler (par défaut:desktop
) :desktop
- Type d’écran de bureau.mobile
- Type d’écran mobile.
screenSize
Size - Défini la taille de l’écran émulé (screenPosition == mobile).viewPosition
Point - Position the view on the screen (screenPosition == mobile) (default:{ x: 0, y: 0 }
).deviceScaleFactor
Entier - Défini le facteur d’échelle du périphérique (par défaut est le facteur d’échelle du périphérique d’origine si mis à 0) (par défaut :0
).viewSize
Size - Défini la taille de l’écran émulé (pas de surcharge si vide)scale
Float - Échelle de la vue émulée à l’intérieur de l’espace disponible (non adaptée au mode d’affichage ) (par défaut :1
).
Active l'émulation d'un appareil avec les paramètres donnés.
contents.disableDeviceEmulation()
Désactiver l’émulation de l'appareil activée par webContents.enableDeviceEmulation
.
contents.sendInputEvent(inputEvent)
inputEvent
MouseInputEvent | MouseWheelInputEvent | KeyboardInputEvent
Envoie un event
d’input à la page. Note: The BrowserWindow
containing the contents needs to be focused for sendInputEvent()
to work.
contents.beginFrameSubscription([onlyDirty ,]callback)
onlyDirty
boolean (optionnel) -false
par défaut.callback
Functionimage
NativeImagedirtyRect
Rectangle
Commencez par vous abonner aux événements de présentation et aux images capturées, la callback
sera appelé avec callback(image, dirtyRect)
lorsqu'il y aura un événement de présentation .
The image
is an instance of NativeImage that stores the captured frame.
Le dirtyRect
est un objet avec les propriétés x, y, width, height
décrivant la partie de la page ayant été repeinte. Si onlyDirty
est défini à true
, image
ne contiendra que la zone repeinte. onlyDirty
est par défaut à false
.
contents.endFrameSubscription()
Terminer l'abonnement pour les événements de présentation des frames.
contents.startDrag(item)
item
Objectfile
string - Path du fichier en cours de déplacement.files
string[] (facultatif) - Chemins d’accès aux fichiers à déplacer. (files
surchargera le champfile
)icon
NativeImage | string - The image must be non-empty on macOS.
Définit item
comme l'élément en cours de glissement pour l'opération de glisser-déposer en cours , file
est le chemin absolu du fichier à déplacer, et icon
est l'image s'affichant sous le curseur lors du glissement.
contents.savePage(fullPath, saveType)
fullPath
string - Le chemin absolu du fichier.saveType
string - Type d’enregistrement.HTMLOnly
- Sauvegarde uniquement le HTML de la page.HTMLComplete
- Sauvegarde complete-html de la page.MHTML
- Sauvegarde complete de la page en MHTML.
Retourne une Promise<void>
-se résolvantsi la page est enregistrée.
const { BrowserWindow } = require('electron')
const win = new BrowserWindow()
win.loadURL('https://github.com')
win.webContents.on('did-finish-load', async () => {
win.webContents.savePage('/tmp/test.html', 'HTMLComplete').then(() => {
console.log('Page was saved successfully.')
}).catch(err => {
console.log(err)
})
})
contents.showDefinitionForSelection()
macOS
Affiche un dictionnaire contextuel qui recherche le mot sélectionné sur la page.
contents.isOffscreen()
Retourne un boolean
- Indiquant si offscreen rendering est activé.
contents.startPainting()
Si offscreen rendering est activé, commencez à peindre si cela n'a pas encore commencé.
contents.stopPainting()
Arrêter de repeindre si offscreen rendering est activé et en train de repeindre.
contents.isPainting()
Renvoie boolean
- Si offscreen rendering est activé, indique s’il est en cours de peinture.
contents.setFrameRate(fps)
fps
Integer
Définit la fréquence d’images avec le nombre spécifié si offscreen rendering est activé . Seules les valeurs comprises entre 1 et 240 sont acceptées.
contents.getFrameRate()
Retourne un Integer
: si offscreen rendering est activé renvoie la fréquence d’images actuelle.
contents.invalidate()
Planifie une repeinture complète de la fenêtre dans laquelle se trouve ce contenu Web.
Invalide l’image et en génère une nouvelle via l’événement 'paint'
si offscreen rendering est activé .
contents.getWebRTCIPHandlingPolicy()
Renvoie string
- Renvoie la stratégie de gestion des IP en WebRTC.
contents.setWebRTCIPHandlingPolicy(policy)
policy
string - Spécifie la stratégie de gestion IP WebRTC.default
- Expose les adresses IP publiques et locales de l’utilisateur. Ceci est le comportement par défaut. Lorsque cette politique est utilisée, WebRTC a le droit d'énumérer toutes les interfaces et de les lier à la découverte d'interfaces publiques.default_public_interface_only
- Expose l'adresse IP publique de l'utilisateur, mais n'expose pas l'IP locale de l'utilisateur. Lorsque cette politique est utilisée, WebRTC ne doit utiliser que la route par défaut qui est utilisée par http. Cela n’expose aucune adresse locale.default_public_and_private_interfaces
- Expose les adresses IP publiques et locales de l'utilisateur. Lorsque cette politique est utilisée, WebRTC ne doit utiliser que la route par défaut qui est utilisée par http. Cela expose également l'adresse privée associée par défaut . L’itinéraire par défaut est l’itinéraire choisi par le système d’exploitation sur un point de terminaison multi-hébergé.disable_non_proxied_udp
- N’expose pas les adresses IP publiques ou locales. Lorsque cette politique est utilisée, WebRTC ne doit utiliser que TCP pour contacter les pairs ou les serveurs, sauf si le serveur proxy prend en charge UDP.
La définition de la stratégie de gestion des adresses IP par WebRTC vous permet de contrôler les adresses IP exposées via WebRTC. Voir BrowserLeaks pour plus de détails.
contents.getWebRTCUDPPortRange()
Retourne Object
:
min
Integer - Le numéro de port UDP le plus petit que WebRTC doit utiliser.max
Entier - Le numéro de port UDP le plus grand WebRTC doit utiliser.
Par défaut, cette valeur est { min: 0, max: 0 }
, ce qui n'appliquera aucune restriction à a plage de ports udp.
contents.setWebRTCUDPPortRange(udpPortRange)
udpPortRange
Objectmin
Integer - Le numéro de port UDP le plus petit que WebRTC doit utiliser.max
Entier - Le numéro de port UDP le plus grand WebRTC doit utiliser.
Setting the WebRTC UDP Port Range allows you to restrict the udp port range used by WebRTC. By default the port range is unrestricted. Note: To reset to an unrestricted port range this value should be set to { min: 0, max: 0 }
.
contents.getMediaSourceId(requestWebContents)
requestWebContents
WebContents - contenu Web auquel l’Id sera attribué.
Retourne string
- Identifiant d'un flux WebContents. Cet identifiant peut être utilisé avec navigator.mediaDevices.getUserMedia
en utilisant un chromeMediaSource
de tab
. L’identifiant est limité au contenu Web auquel il est attribué et n’est valide que pendant 10 secondes.
contents.getOSProcessId()
Retourne Integer
- Le pid
du système d'exploitatiçon correspondant au processus de rendu associé .
contents.getProcessId()
Retourne Integer
- Le pid
interne à Chromium correspondant au processus de rendu associé. Peut- être comparé aux frameProcessId
transmis par des événements de navigation spécifiques à une image (par exemple, did-frame-navigate
)
contents.takeHeapSnapshot(filePath)
filePath
string - Chemin vers le fichier de sortie.
Retourne Promise<void>
- Indique si l'instantané a été créé avec succès.
Prend un instantané de tas V8 et l'enregistre dans filePath
.
contents.getBackgroundThrottling()
Retourne boolean
- si ou non ce WebContents limitera les animations et les timers lorsque la page est en arrière-plan. Cela affecte également l'API de Visibilité de page.
contents.setBackgroundThrottling(allowed)
History
allowed
boolean
Contrôle si ce WebContents limitera ou non les animations et les timers lorsque la page passe en arrière-plan. Cela affecte également l'API de Visibilité de page.
contents.getType()
Retourne une string
- type du contenu web. Les valeurs possibles sontbackgroundPage
, window
, browserView
, remote
, webview
ou offscreen
.
contents.setImageAnimationPolicy(policy)
policy
string - Peut prendre une des valeursanimate
,animateOnce
ounoAnimation
.
Définit la stratégie d’animation d’image pour ce contenu Web. La stratégie n’affecte que nouvelles images , les images existantes en cours d’animation ne sont pas affectées. Il s’agit d’une limitation connue dans Chromium, vous pouvez forcer l’animation d’image à être recalculée avec img.src = img.src
ce qui n’entraînera aucun trafic réseau mais mettra à jour la stratégie d’animation.
Cela correspond à la fonctionnalité d’accessibilité animationPolicy de Chromium.
Propriétés d'instance
contents.ipc
Lecture seule
An IpcMain
scoped to just IPC messages sent from this WebContents.
Les messages IPC envoyés en invoquant ipcRenderer.send
, ipcRenderer.sendSync
ou ipcRenderer.postMessage
seront envoyés dans l'ordres suivant :
contents.on('ipc-message')
contents.mainFrame.on(channel)
contents.ipc.on(channel)
ipcMain.on(channel)
Les gestionnaires enregistrés pour invoke
seront vérifiés dans la commande suivante. Le premier défini sera appelé, le reste sera ignoré.
contents.mainFrame.handle(channel)
contents.handle(channel)
ipcMain.handle(channel)
Un gestionnaire ou un event listener enregistré sur le WebContents recevra les messages IPC envoyés depuis n'importe quelle frame, y compris les frames enfants. Dans la plupart des cas, seule la frame principale pourra envoyer des messages IPC. Cependant, si l'option nodeIntegrationInSubFrames
est activée, il est possible pour les frames enfants d'envoyer des messages IPC. Dans ce cas, les gestionnaires devront vérifier la propriété senderFrame
de l'événement IPC pour s'assurer que le message provient bien de la frame expectée. Sinon il est également possible d'enregistrer directement les gestionnaires sur la frame appropriée en utilisant l'interface WebFrameMain.ipc
.
contents.audioMuted
Propriété de type boolean
déterminant si cette page est silencieuse.
contents.userAgent
Propriété string
déterminant l'agent utilisateur pour cette page web.
contents.zoomLevel
Propriété de type number
déterminant le niveau de zoom de ce contenu Web.
La taille d’origine est 0 et chaque incrément au dessus ou en dessous représente un zoom de 20 % plus grand ou plus petit jusqu’aux limites respectives par défaut de 300 % et 50 % de la taille d’origine. La formule utilisée pour cela est scale := 1.2 ^ level
.
contents.zoomFactor
Propriété number
déterminant le facteur de zoom pour ce contenu Web.
Le facteur de zoom est le pourcentage de zoom divisé par 100, donc 300% = 3.0.
contents.frameRate
Propriété Integer
définssantt la fréquence d’images du WebContents avec le nombre spécifié. Seules les valeurs comprises entre 1 et 240 sont acceptées.
Ne s'applique que si offscreen rendering est activé.
contents.id
Lecture seule
Un Integer
représentant l'ID unique de ce WebContents. Chaque ID est unique parmi tout ceux des instances de WebContents
de l'application Electron.
contents.session
Lecture seule
A Session
used by this webContents.
contents.navigationHistory
Lecture seule
A NavigationHistory
used by this webContents.
contents.hostWebContents
Lecture seule
A WebContents
instance that might own this WebContents
.
contents.devToolsWebContents
Lecture seule
Propriété WebContents | null
représentant le WebContents
DevTools associé à un WebContents
donné.
Note: les utilisateurs ne doivent jamais stocker cet objet, car il peut devenir null
lorsque les DevTools sont fermés.
contents.debugger
Lecture seule
A Debugger
instance for this webContents.
contents.backgroundThrottling
History
Propriété de type boolean
déterminant si ce WebContents brégulera ou non les animations et les timers lorsque la page passe en arrière-plan. Cela affecte également l'API de Visibilité de page.
contents.mainFrame
Lecture seule
A WebFrameMain
property that represents the top frame of the page's frame hierarchy.
contents.opener
Lecture seule
A WebFrameMain
property that represents the frame that opened this WebContents, either with open(), or by navigating a link with a target attribute.