Aller au contenu principal

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 number
  • maximumLevel 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 Function
      • words string[]
      • callback Function
        • misspeltWords 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 spellchecker = require('spellchecker')
const misspelled = words.filter(x => spellchecker.isMisspelled(x))
callback(misspelled)
}, 0)
}
})

webFrame.insertCSS(css[, options])

  • css string
  • options Object (facultatif)
    • cssOrigin string (facultatif) - Peut être 'user' ou 'author'. Définit l'origine de la cascade de la feuille de style insérée. La valeur par défaut est 'author'.

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 string
  • 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 Any
    • error 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 Any
    • error 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 de l'univers dans lequel exécuter le javascript, 0 étant l'univers par défaut et 999 celui 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:

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 - An Integer representing the unique frame id in the current renderer process. Routing IDs can be retrieved from WebFrame instances (webFrame.routingId) and are also passed by frame specific WebContents navigation events (e.g. did-frame-navigate)

Retourne la WebFrame qui a le routingIdspécifié, null si non trouvé.

webFrame.isWordMisspelled(word)

  • word string - The word to be spellchecked.

Returns boolean - True if the word is misspelled according to the built in spellchecker, false otherwise. If no dictionary is loaded, always return false.

webFrame.getWordSuggestions(word)

  • word string - The misspelled word.

Returns string[] - A list of suggested words for a given word. If the word is spelled correctly, the result will be empty.

Propriétés

webFrame.top Lecture seule

A WebFrame | null representing top frame in frame hierarchy to which webFrame belongs, the property would be null if top frame is not in the current renderer process.

webFrame.opener Lecture seule

A WebFrame | null representing the frame which opened webFrame, the property would be null if there's no opener or opener is not in the current renderer process.

webFrame.parent Lecture seule

A WebFrame | null representing parent frame of webFrame, the property would be null if webFrame is top or parent is not in the current renderer process.

webFrame.firstChild Lecture seule

A WebFrame | null representing the first child frame of webFrame, the property would be null if webFrame has no children or if first child is not in the current renderer process.

webFrame.nextSibling Lecture seule

A WebFrame | null representing next sibling frame, the property would be null if webFrame is the last frame in its parent or if the next sibling is not in the current renderer process.

webFrame.routingId Lecture seule

An Integer representing the unique frame id in the current renderer process. Distinct WebFrame instances that refer to the same underlying frame will have the same routingId.