Aller au contenu principal

BrowserView

Note The BrowserView class is deprecated, and replaced by the new WebContentsView class.

Une BrowserView peut être utilisée pour intégrer des contenus web supplémentaires dans une BrowserWindow. C'est un peu comme une fenêtre enfant, sauf qu'elle est positionnée par rapport à sa fenêtre propriétaire. Elle se veut être une alternative à la balise webview.

Classe : BrowserView

Crée et gére les vues.

Note The BrowserView class is deprecated, and replaced by the new WebContentsView class.

Processus : Main

Ce module ne peut pas être utilisé tant que l'événement ready du module app n'est pas émis.

Exemple

// Dans le processus main.
const { app, BrowserView, BrowserWindow } = require('electron')

app.whenReady().then(() => {
const win = new BrowserWindow({ width: 800, height: 600 })

const view = new BrowserView()
win.setBrowserView(view)
view.setBounds({ x: 0, y: 0, width: 300, height: 300 })
view.webContents.loadURL('https://electronjs.org')
})

new BrowserView([options]) Experimental Deprecated

  • options Object (facultatif)
    • webPreferences WebPreferences (facultatif) - Paramètres des fonctionnalités de la page Web.
      • devTools boolean (facultatif) - Active ou non les DevTools. Si défini comme à false on ne pourra pas utiliser BrowserWindow.webContents.openDevTools() pour ouvrir les DevTools. La valeur par défaut est true.
      • nodeIntegration boolean (facultatif) - Indique si l'intégration de node est activée. Par défaut la valeur est false.
      • nodeIntegrationInWorker boolean (facultatif) - Indique si l'intégration de node est activée dans les workflows web. Par défaut la valeur est false. Plus d'informations peuvent être trouvée dans Multithreading.
      • nodeIntegrationInSubFrames boolean (facultatif) - Option expérimentale pour activer le support de Node.js dans les sous-cadres tels que les iframes et les fenêtres enfants. Tous vos préchargements seront chargés pour chaque iframe, vous pouvez utiliser process.isMainFrame pour déterminer si vous êtes dans le cadre principal ou non.
      • preload string (facultatif) - Spécifie un script qui sera chargé avant les autres scripts exécutés dans la page. Ce script aura toujours accès aux API de node peu importe si l'intégration de node est activée ou désactivée. La valeur doit être le chemin absolu vers le script. Lorsque l'intégration des nœuds est désactivée, le script de préchargement peut réintroduire les symboles globaux de nœud dans la portée globale. Voir l'exemple ici.
      • sandbox booléen (facultatif) - Si défini, le moteur de rendu associé à la fenêtre, la rendre compatible avec le bac à sable Chromium au niveau du système d'exploitation et la désactivation du nœud. s moteur. Ce n'est pas la même chose que l'option nodeIntegration et les API disponibles pour le script de préchargement sont plus limitées. En savoir plus sur l'option ici.
      • session Session (facultatif) - Définit la session utilisée par la page . Au lieu de passer l'objet Session directement, vous pouvez également choisir d'utiliser l'option partition à la place, qui accepte une chaîne de partition. Lorsque session et partition sont fournies, session sera préférée. La session par défaut est celle par défaut.
      • partition string (facultatif) - Définit la session utilisée par la page en fonction de la chaîne de partition de la session . Si partition commence par persist:, la page utilisera une session persistante disponible pour toutes les pages de l'application avec le même partition. S'il n'y a pas de préfixe persistant:, la page utilisera une session en mémoire . En assignant la même partition, plusieurs pages peuvent partager la même session. La session par défaut est celle par défaut.
      • zoomFactor number (facultatif) - Facteur de zoom par défaut de la page, 3.0 signifie 300%. La valeur par défaut est 1.0.
      • javascript boolean (facultatif) - Active la prise en charge de JavaScript. La valeur par défaut est true.
      • webSecurity boolean (facultatif) - Lorsque false, il désactivera la politique de même origine (généralement en utilisant des sites de test par des personnes), et définissez allowRunningInsecureContent à true si cette option n'a pas été définie par l'utilisateur. La valeur par défaut est true.
      • allowRunningInsecureContent boolean (facultatif) - Permet à une page https d'exécuter du JavaScript, CSS ou des plugins à partir d'URL http. Par défaut la valeur est false.
      • images boolean (facultatif) - Active le support des images. La valeur par défaut est true.
      • imageAnimationPolicy string (facultatif) - Spécifie comment exécuter les animations d’image (par exemple,. GIFs). Les valeurs possibles sont animate, animateOnce, ou noAnimation. La valeur par défaut est animate.
      • textAreasAreResizable boolean (facultatif) - Rend les éléments TextArea redimensionnables. La valeur par défaut est true.
      • webgl boolean (facultatif) - Active le support WebGL. La valeur par défaut est true.
      • plugins boolean (facultatif) - Indique si les plugins doivent être activés. Par défaut la valeur est false.
      • experimentalFeatures boolean (facultatif) - Active les fonctionnalités expérimentales de Chromium. Par défaut la valeur est false.
      • scrollBounce boolean (facultatif) macOS - Active l'effet scroll bounce(effet élastique) sur macOS. Par défaut la valeur est false.
      • enableBlinkFeatures string (facultatif) - Liste de chaînes de caractères séparées par des ,, comme CSSVariables,KeyEventKey représentant les fonctionnalités à activer. La liste complète des chaînes de caractères supportées peut être trouvée dans le fichier RuntimeEnabledFeatures.json5 .
      • disableBlinkFeatures string (facultatif) - Liste de chaînes de caractères séparées par des, comme par exemple CSSVariables,KeyboardEventKey représentant les fonctionnalités à désactiver. La liste complète des chaînes des fonctionnalités supportées peut être trouvée dans le fichier RuntimeEnabledFeatures.json5 .
      • defaultFontFamily Object (facultatif) - Définit la police par défaut pour la famille de polices.
        • standard string (facultatif) - Par défaut Times New Roman.
        • serif string (facultatif) - Par défaut Times New Roman.
        • sansSerif string (facultatif) - Arial.
        • monospace string (facultatif) - Courrier New.
        • cursive string (facultatif) - Par défaut Script.
        • fantasy string (facultatif) - Par défaut Impact.
        • math string (facultatif) - Valeur par défaut Latin Modern Math.
      • defaultFontSize Integer (facultatif) - 16.
      • defaultMonospaceFontSize Integer (facultatif) - 13.
      • minimumFontSize Integer (facultatif) - 0.
      • defaultEncoding string (facultatif) - Par défaut ISO-8859-1.
      • backgroundThrottling boolean (facultatif) - Indique si on désire controler les animations et les timers lorsque la page passe en arrière-plan. Cela affecte également l'API Page Visibility. Lorsqu’au moins un webContents est affiché dans une seule browserWindow a son backgroundThrottling désactive, les frames seront alors dessinés et échangés pour toute la fenêtre et tout autre webContents affiché. true par défaut.
      • offscreen boolean (facultatif) - Active le rendu hors écran pour la fenêtre du navigateur. Par défaut, false. Voir le tutoriel de rendu hors écran pour plus de détails.
      • contextIsolation boolean (facultatif) - Indique si les API Electron et le script preload spécifié s'exécuteront dans un contexte JavaScript séparé. Est à true par défaut. Le contexte dans lequel le script preload s’exécute n’aura accès qu'à ses propres document , globales de window et ensemble de types JavaScript intégrés (Array, Object, JSON, etc.), ceux-ci seront tous invisibles pour le contenu chargé. L'API Electron ne sera donc disponible que dans le script de preload et pas dans la page chargée. Cette option doit être utilisée lors du chargement de contenu distant potentiellement non fiable afin de se prémunit de toute utilisation frauduleuse du script preload ou des APIs Electron. Cette option utilise la même technique que celle utilisée par les Chrome Content Scripts. Vous pouvez accéder à ce contexte dans les outils de développement en sélectionnant l'entrée 'Electron Isolated Context' de la liste déroulante en haut de l'onglet Console.
      • webviewTag boolean (facultatif) - Active ou non la balise <webview>. Par défaut, false. Remarque : Le script preload configuré pour la <webview> aura l'intégration de node activée lorsqu'il est exécuté, donc vous devez vous assurer que le contenu distant/non fiable n'est pas en mesure de créer une balise <webview> avec un script de preloadpotentiellement malveillant. Vous pouvez utiliser l'événement will-attach-webview sur webContents pour supprimer le script preload et valider ou modifier les paramètres initiaux de < webview>.
      • additionalArguments string[] (facultatif) - Liste de chaînes qui seront ajoutées au process.argv dans le processus de rendu de cette application. Cette option est utile afin de transmettre de petites informations aux scripts de préchargement du processus de rendu.
      • safeDialogs boolean (facultatif) - Indique s’il faut activer la protection pour les boîtes de dialogue consécutives à la mode "navigateur". Par défaut la valeur est false.
      • safeDialogsMessage string (facultatif) - Le message à afficher lorsque la protection consécutive des dialogues est déclenchée. Si non défini, le message par défaut serait utilisé, notez que le message par défaut est actuellement en anglais et non localisé.
      • disableDialogs boolean (facultatif) - Indique si l faut désactiver complètement les dialogues . Surcharge safeDialogs. Par défaut la valeur est false.
      • navigateOnDragDrop boolean (facultatif) - Indique si le glisser-déposer d'un fichier ou d'un lien sur la page provoque une navigation. Par défaut la valeur est false.
      • autoplayPolicy string (facultatif) - La politique de lecture automatique à appliquer au contenu dans la fenêtre, peut être no-user-gesture-required, user-gesture-required, document-user-activation-required. Par défaut, no-user-gesture-required.
      • disableHtmlFullscreenWindowResize boolean (facultatif) - Indqiue si vous désirez empêcher la fenêtre de se redimensionner lorsque vous passer en plein écran HTML. La valeur par défaut est false.
      • accessibleTitle string (facultatif) définit un titre alternatif fourni uniquement aux outils d'accessibilité tels que les lecteurs d'écran. Cette chaîne n'est pas directement visible par les utilisateurs.
      • spellcheck boolean (facultatif) - Indique si il faut activer le vérifiacateur orthographique intégré. La valeur par défaut est true.
      • enableWebSQL boolean (facultatif) : Inindique s’il faut activer l’api WebSQL . La valeur par défaut est true.
      • v8CacheOptions string (facultatif) - Applique la stratégie de mise en cache du code v8 utilisée par blink. Les valeurs acceptées sont
        • none - Désactive la mise en cache du code
        • code - Mise en cache de code heuristique
        • bypassHeatCheck - Bypass la mise en cache de code heuristique mais avec compilation paresseuse
        • bypassHeatCheckAndEagerCompile - identique à ce qui précède mais la compilation est immédiate. La statégie par défaut est code.
      • enablePreferredSizeMode boolean (facultatif) - Active ou non le mode de taille préféré. La taille préférée est la taille minimale requise pour contenir la mise en page du document sans avoir besoin de le faire défiler. Lorqu' activé ceci provoquera l'émission de l'événement preferred-size-changed sur le WebContents lorsque la taille préférée change. Par défaut la valeur est false.

Propriétés d'instance

Les objets créés par new BrowserView possède les propriétés suivantes :

view.webContents Experimental Deprecated

Un objet de type WebContents appartenant à cette vue.

Méthodes d’instance

Les objets créés par new BrowserView possèdent les méthodes d’instance suivantes :

view.setAutoResize(options) Experimental Deprecated

  • Objet options
    • width boolean (facultatif) - Si true, la largeur de la vue va s'agrandir et se rétrécir en même temps que la fenêtre. false par défaut.
    • height boolean (facultatif) - Si true, la hauteur de la vue va croître et se rétrécir en même temps que la fenêtre. false par défaut.
    • horizontal booléen (facultatif) - Si true, la position x et la largeur de la vue augmenteront et diminueront proportionnellement à la fenêtre. false par défaut.
    • vertical booléen (facultatif) - Si true, la position et la hauteur y de la vue augmenteront et diminueront proportionnellement à la fenêtre. false par défaut.

view.setBounds(bounds) Experimental Deprecated

Redimensionne et déplace la vue vers les limites relatives à la fenêtre qui sont fournies .

view.getBounds() Experimental Deprecated

Retourne Rectangle

Object représentant les bounds de cette instance de BrowserView.

view.setBackgroundColor(color) Experimental Deprecated

  • color string - Couleur en Hex, RGB, ARGB, HSL, HSLA ou une couleur CSS nommée. Le canal alpha est facultatif pour le type hexadécimal.

Exemples de valeurs valides pour color :

  • Hex
    • #fff (RGB)
    • #ffff (ARGB)
    • #ffffff (RRGGBB)
    • #ffffffff (AARRGGBB)
  • RGB
    • rgb\(([\d]+),\s*([\d]+),\s*([\d]+)\)
      • par exemple rgb(255, 255, 255)
  • RGBA
    • rgba\(([\d]+),\s*([\d]+),\s*([\d]+),\s*([\d.]+)\)
      • par exemple rgba(255, 255, 255, 1.0)
  • HSL
    • hsl\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%\)
      • par exemple hsl(200, 20%, 50%)
  • HSLA
    • hsla\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)
      • par exemple hsla(200, 20%, 50%, 0.5)
  • Couleur nommée
    • Les options sont listées dans SkParseColor.cpp
    • Similaire aux mots-clés de CSS Color Module Level 3, mais sensible à la casse.
      • e.g. blueviolet or red

Note: Hex format with alpha takes AARRGGBB or ARGB, not RRGGBBAA or RGB.