webFrame
Accés à la page web actuelle et à sa personnalisation.
Processus : Renderer
webFrame
est une instance de la classe WebFrame
produite par l'export du module Electron et représentant la frame actuelle. Les sous-frames peuvent être récupérées à l'aide de certaines propriétés et méthodes (par exemple webFrame.firstChild
).
Exemple d'un zoom de 200% de la page actuelle.
const { webFrame } = require('electron')
webFrame.setZoomFactor(2)
Méthodes
L’objet WebFrame
dispose des méthodes d’instance suivantes :
webFrame.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.
webFrame.getZoomFactor()
Retourne number
- Le facteur de zoom actuel.
webFrame.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.
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.
webFrame.getZoomLevel()
Retourne number
- Le niveau de zoom actuel.
webFrame.setVisualZoomLevelLimits(minimumLevel, maximumLevel)
minimumLevel
numbermaximumLevel
number
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:
webFrame.setVisualZoomLevelLimits(1, 3)
NOTE: Le zoom visuel s'applique uniquement au comportement pinch-to-zoom. Les raccourcis de zoom Cmd+/-/0 sont contrôlés par les rôles des MenuItem 'zoomIn', 'zoomOut' et 'resetZoom' dans le menu de l'application. Pour désactiver les raccourcis, définissez manuellement le Menu et omettez les rôles de zoom de la définition.
webFrame.setSpellCheckProvider(language, provider)
language
string- Objet
provider
spellCheck
Functionwords
string[]callback
FunctionmisspeltWords
string[]
Définit un fournisseur pour la correction orthographique dans les champs de saisie et les zones de texte.
Si vous désirez utiliser cette méthode, vous devrez désactiver le vérificateur d'orthographe intégré lors de la création de la fenêtre.
const mainWindow = new BrowserWindow({
webPreferences: {
spellcheck: false
}
})
Le provider
doit être un objet ayant une méthode spellCheck
qui reçoit un tableau de mots pour la vérification orthographique. Cette méthode spellCheck
s'exécute de manière asynchrone et appellera, une fois le travail terminé, la fonction callback
avec un tableau des mots mal orthographiés.
Exemple utilisant node-spellchecker dans le provider:
const { webFrame } = require('electron')
const spellChecker = require('spellchecker')
webFrame.setSpellCheckProvider('en-US', {
spellCheck (words, callback) {
setTimeout(() => {
const misspelled = words.filter(x => spellchecker.isMisspelled(x))
callback(misspelled)
}, 0)
}
})
webFrame.insertCSS(css[, options])
css
string
Retourne string
- Une clé pour le CSS inséré qui peut être utilisé plus tard pour supprimer le CSS via webFrame.removeInsertedCSS(key)
.
Injecte du CSS dans la page Web actuelle et renvoie une clé unique pour la feuille de style insérée .
webFrame.removeInsertedCSS(key)
key
string
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 webFrame.insertCSS(css)
.
webFrame.insertText(text)
text
string
Insère le text
à l'élément ciblé.
webFrame.executeJavaScript(code[, userGesture, callback])
code
stringuserGesture
boolean (facultatif) -false
par défaut.callback
Function (facultatif) - Appelée après la fin de l'opération d'écriture. A moins que le fonctionnement de la a frame ne soit interrompu (par ex. par l'affichage d'une alerte modale), l'exécution sera synchrone et la callback sera invoquée juste avant le retour de la méthode. Afin de rester compatible avec une ancienne version de cette méthode, le paramètre d'erreur arrive en seconde position.result
Anyerror
Error
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.
webFrame.executeJavaScriptInIsolatedWorld(worldId, scripts[, userGesture, callback])
worldId
Integer - Id de l'univers dans lequel exécuter le javascript ,0
est l'univers principal par défaut (où le contenu s'exécute),999
est l'univers utilisé par la fonctionnalitécontextIsolation
d'Electron. Accepte les valeurs dans l'intervalle 1..536870911.scripts
WebSource[]userGesture
boolean (facultatif) -false
par défaut.callback
Function (facultatif) - Appelée après la fin de l'opération d'écriture. A moins que le fonctionnement de la a frame ne soit interrompu (par ex. par l'affichage d'une alerte modale), l'exécution sera synchrone et la callback sera invoquée juste avant le retour de la méthode. Afin de rester compatible avec une ancienne version de cette méthode, le paramètre d'erreur arrive en seconde position.result
Anyerror
Error
Retourne Promise<any>
- Une promesse qui se résout avec le résultat du code exécuté ou est rejettée si le résultat du code est une promesse rejetée.
Fonctionne comme executeJavaScript
mais en évaluant le scripts
dans un contexte isolé.
Notez que lorsque l'exécution du script échoue, la promesse retournée ne sera pas rejetée et le result
sera undefined
. Ceci est dû au fait que Chromium n' achemine pas les erreurs d'univers isolés vers des univers étrangers.
webFrame.setIsolatedWorldInfo(worldId, info)
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. Les extensions Chrome se réservent la gamme[1 << 20, 1 << 29)
pour les Ids. Sinon vous pouvez fournir n'importe quel entier.- Objet
info
securityOrigin
string (facultatif) - Origine de sécurité pour le monde isolé.csp
string (facultatif) - Politique de sécurité du contenu pour le monde isolé.name
string (facultatif) - Nom du monde isolé. Utile quand on utilise les devtools.
Définit l'origine de la sécurité, la politique de sécurité du contenu et le nom du monde isolé. Note: Si la csp
est spécifié, alors le securityOrigin
doit l'être également.
webFrame.getResourceUsage()
Retourne Object
:
images
MemoryUsageDetailsscripts
MemoryUsageDetailscssStyleSheets
MemoryUsageDetailsxslStyleSheets
MemoryUsageDetailsfonts
MemoryUsageDetailsother
MemoryUsageDetails
Retourne un objet décrivant les informations d'utilisation de caches de mémoire interne de Blink.
const { webFrame } = require('electron')
console.log(webFrame.getResourceUsage())
Cela va générer :
{
images: {
count: 22,
size: 2549,
liveSize: 2542
},
cssStyleSheets: { /* pareil qu'avec "images" */ },
xslStyleSheets: { /* pareil qu'avec "images" */ },
fonts: { /* pareil qu'avec "images" */ },
other: { /* pareil qu'avec "images" */ }
}
webFrame.clearCache()
Tente de libérer de la mémoire qui n'est plus utilisée (comme les images d'une navigation précédente).
Notez que le fait d'appeler aveuglément cette méthode rend probablement Electron plus lent car il devra remplir ces caches vides, vous ne devriez l'appeler que si un événement dans votre application s'est produit vous faisant penser que votre page utilise réellement moins mémoire (c. -à-d. que vous avez navigué d'une page super lourde à une page presque vide, et avez l'intention d'y rester).
webFrame.getFrameForSelector(selector)
selector
string - Sélecteur CSS pour un élément de type frame.
Retourne WebFrame
- L'élément de type frame dans le document de webFrame's
et sélectionné par le selector
, null
sera retourné si selector
ne sélectionne pas une frame ou la frame n'est pas dans le processus de rendu en cours.
webFrame.findFrameByName(name)
name
string
Retourne WebFrame
- Elément enfant de la webFrame
dont le name
est fourni, null
sera retourné si si une telle frame n'existe pas ou si elle n'est pas dans le processus de rendu en cours.
webFrame.findFrameByRoutingId(routingId)
routingId
Integer -Integer
représentant l'id unique de la frame dans le processus de rendu courant. Les identifiants de routage peuvent être récupérés à partir des instances deWebFrame
(webFrame.routingId
) et sont également transmis par les événements spécifiques duWebContents
de la frame (par ex.did-frame-navigate
)
Retourne la WebFrame
qui a le routingId
spécifié, null
si non trouvé.
webFrame.isWordMisspelled(word)
word
string - Le mot à vérifier.
Retourne boolean
- true si le mot est considéré comme mal orthographié par le correcteur orthographique intégré, false si ce n'est pas le cas. Retourne toujours faux si aucun dictionnaire n'est chargé, .
webFrame.getWordSuggestions(word)
word
string - Le mot mal orthographié.
Retourne string[]
- Liste de mots suggérés pour un mot donné. Si le mot est orthographié correctement, le résultat sera vide.
Propriétés
webFrame.top
Lecture seule
WebFrame | null
représentant la frame de plus haut niveau dans la hiérarchie des frames à laquelle appartient webFrame
, la propriété sera null
si la frame de plus haut niveau n'est pas dans le processus de rendu courant.
webFrame.opener
Lecture seule
WebFrame | null
représentant la frame ayant ouvert webFrame
, la propriété sera null
s'il elle n'existe pas ou n'appartient pas au processus de rendu courant.
webFrame.parent
Lecture seule
WebFrame | null
représentant la frame parent de webFrame
, la propriété sera null
si webFrame
est au niveau le plus haut ou si le parent n'est pas dans le processus de rendu en cours.
webFrame.firstChild
Lecture seule
WebFrame | null
représentant la première frame enfant de webFrame
, la propriété sera null
si webFrame
n'a pas de fils ou si le premier enfant n'est pas dans le processus de rendu courant.
webFrame.nextSibling
Lecture seule
WebFrame | null
représentant la prochaine frame soeur, la propriété sera null
si webFrame
est la dernière frame dans son parent ou si la frame soeur n'est pas dans le processus de rendu courant.
webFrame.routingId
Lecture seule
Integer
représentant l'id unique de la frame dans le processus de rendu actuel. Des instances distinctes de WebFrameMain faisant référence à la même frame sous-jacente auront le même routingId
.