History
Note The BrowserView
class is deprecated, and replaced by the new WebContentsView
class.
BrowserView
может использоваться для встраивания дополнительного веб-контента в BrowserWindow
. Это как дочернее окно, за исключением того, что оно позиционируется относительно его владельца окна. Он предназначен для того, чтобы быть альтернативой тега webview
.
Класс: BrowserView
History
Создание и управление видами.
Note The BrowserView
class is deprecated, and replaced by the new WebContentsView
class.
Процесс: Главный
Этот модуль нельзя использовать до тех пор, пока событие ready
в app
не будет готово к использованию.
Пример
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
History
options
Object (опционально)
webPreferences
WebPreferences (optional) - Settings of web page's features.
devTools
boolean (опционально) - включает инструменты разработчика. Если значение false
, нельзя будет использовать BrowserWindow.webContents.openDevTools()
, чтобы открыть инструменты разработчика. По умолчанию - true
.
nodeIntegration
boolean (optional) - Whether node integration is enabled. По умолчанию - false
.
nodeIntegrationInWorker
boolean (опционально) - включает интеграцию NodeJS в веб-воркерах. По умолчанию - false
. Больше об этом можно найти в многопоточности.
nodeIntegrationInSubFrames
boolean (опционально) - экспериментальная опция для включения поддержки NodeJS в подфреймах, таких как iframes и дочерних окнах. Все Ваши предварительные загрузки будут загружены для каждого iframe, Вы можете использовать process.isMainFrame
, чтобы определить в главном фрейме Вы или нет.
preload
string (опционально) - Определяет скрипт, который будет загружен до других скриптов загружаемых в странице. Этот скрипт будет всегда иметь доступ к API NodeJS, вне зависимости включена или выключена интеграция NodeJS. Значение должно быть абсолютным путем к файлу скрипта. Когда интеграция NodeJS отключена, предварительно загруженный скрипт может повторно ввести глобальные символы NodeJS в глобальную область. Посмотреть пример здесь.
sandbox
boolean (опционально) - если установлено true, то в окне будет запущена песочница, что делает ее совместимой с песочницей Chromium на уровне операционной системы, и отключает движок NodeJS. Это не тоже самое, что параметр nodeIntegration
, доступные API для предзагруженных скриптов более ограничены. Узнать больше об этой опции можно здесь.
session
Session (опционально) - устанавливает сессию, которая используется страницей. Вместо передачи экземпляр Session напрямую, вместо этого Вы можете также выбрать использование опции partition
, которая принимает строку раздела. Когда оба session
и partition
определены, session
будет предпочтительней. По умолчанию используется сессия по умолчанию.
partition
string (опционально) - устанавливает сессию, используемую на странице в соответствии со строкой раздела сессии. Если partition
начинается с persist:
, страница будет использовать постоянную сессию, которая доступна всем страницам в приложении с тем же разделом
. Если нет префикса persist:
, страница будет использовать сессию в памяти. При присваивании одинакового раздела
, разные страницы могут иметь одинаковую сессию. По умолчанию используется сессия по умолчанию.
zoomFactor
number (optional) - The default zoom factor of the page, 3.0
represents 300%
. По умолчанию 1.0
.
javascript
boolean (optional) - Enables JavaScript support. По умолчанию - true
.
webSecurity
boolean (опционально) - Когда false
, отключается политика same-origin (обычно используется при тестировании вебсайтов людьми), и устанавливается allowRunningInsecureContent
в true
, если параметр не был установлен пользователем. По умолчанию - true
.
allowRunningInsecureContent
boolean (optional) - Allow an https page to run JavaScript, CSS or plugins from http URLs. По умолчанию - false
.
images
boolean (optional) - Enables image support. По умолчанию - true
.
imageAnimationPolicy
string (optional) - Specifies how to run image animations (E.g. GIFs). Can be animate
, animateOnce
or noAnimation
. По умолчанию animate
.
textAreasAreResizable
boolean (optional) - Make TextArea elements resizable. Default is true
.
webgl
boolean (optional) - Enables WebGL support. По умолчанию - true
.
plugins
boolean (optional) - Whether plugins should be enabled. По умолчанию - false
.
experimentalFeatures
boolean (optional) - Enables Chromium's experimental features. По умолчанию - false
.
scrollBounce
boolean (optional) macOS - Enables scroll bounce (rubber banding) effect on macOS. По умолчанию - false
.
enableBlinkFeatures
string (опционально) - список строк функций, разделенных запятой
, которые нужно включить, например CSSVariables,KeyboardEventKey
. Полный список поддерживаемых возможностей можно найти в файле RuntimeEnabledFeatures.json5.
disableBlinkFeatures
string (опционально) - Список функциональных возможностей для выключения, разделяются ','
, например CSSVariables,KeyboardEventKey
. Полный список поддерживаемых возможностей можно найти в файле RuntimeEnabledFeatures.json5.
defaultFontFamily
Object (optional) - Sets the default font for the font-family.
standard
string (опционально) - По умолчанию Times New Roman
.
serif
string (опционально) - по ум олчанию Times New Roman
.
sansSerif
string (опционально) - По умолчанию Arial
.
monospace
string (опционально) - По умолчанию Courier New
.
cursive
string (опционально) - По умолчанию Script
.
fantasy
string (опционально) - По умолчанию Impact
.
math
string (опционально) - По умолчанию Latin Modern Math
.
defaultFontSize
Integer (опционально) - По умолчанию 16
.
defaultMonospaceFontSize
Integer (опционально) - По умолчанию 13
.
minimumFontSize
Integer (опционально) - По умолчанию 0
.
defaultEncoding
string (опционально) - По умолчанию ISO-8859-1
.
backgroundThrottling
boolean (опционально) - Отключать ли анимацию и таймеры, когда страница становится фоновой. Это также влияет на API видимости страницы. When at least one webContents displayed in a single browserWindow has disabled backgroundThrottling
then frames will be drawn and swapped for the whole window and other webContents displayed by it. По умолчанию true
.
offscreen
boolean (опционально) - Включает отрисовку окна браузера вне экрана. По умолчанию false
. Смотрите руководство отрисовки вне экрана для подробной информации.
contextIsolation
boolean (опционально) - Запускать или нет API Electron и определенный скрипт preload
в отдельном JavaScript-контексте. По умолчанию true
. The context that the preload
script runs in will only have access to its own dedicated document
and window
globals, as well as its own set of JavaScript builtins (Array
, Object
, JSON
, etc.), which are all invisible to the loaded content. The Electron API will only be available in the preload
script and not the loaded page. This option should be used when loading potentially untrusted remote content to ensure the loaded content cannot tamper with the preload
script and any Electron APIs being used. This option uses the same technique used by Chrome Content Scripts. You can access this context in the dev tools by selecting the 'Electron Isolated Context' entry in the combo box at the top of the Console tab.
webviewTag
boolean (опционально) - Включить ли <webview>
tag. По умолчанию false
. Примечание: Cкрипт preload
, настроенный для <webview>
, при запуске будет иметь интеграцию NodeJS, так что Вы должны убедиться, что удаленный/непроверенный контент не сможет создавать тег <webview>
с возможно вред оносным скриптом preload
. Вы можете использовать событие will-attach-webview
на webContents, чтобы отключить скрипт preload
и проверить или изменить начальные настройки <webview>
.
additionalArguments
string[] (optional) - A list of strings that will be appended to process.argv
in the renderer process of this app. Useful for passing small bits of data down to renderer process preload scripts.
safeDialogs
boolean (optional) - Whether to enable browser style consecutive dialog protection. По умолчанию - false
.
safeDialogsMessage
string (опционально) - Сообщение, которое будет отображено, когда сработает последовательная защита диалогов. Если не определено, будет использовано сообщение по умолчанию, обратите внимание, что текущее сообщение по умолчанию на английском и не переведено.
disableDialogs
boolean (optional) - Whether to disable dialogs completely. Overrides safeDialogs
. По умолчанию - false
.
navigateOnDragDrop
boolean (optional) - Whether dragging and dropping a file or link onto the page causes a navigation. По умолчанию - false
.
autoplayPolicy
string (опционально) - политика автовоспроизведения для применения к содержимому в окне, может быть no-user-gesture-required
, user-gesture-required
или document-user-activation-required
. По умолчанию no-user-gesture-required
.
disableHtmlFullscreenWindowResize
boolean (optional) - Whether to prevent the window from resizing when entering HTML Fullscreen. Default is false
.
accessibleTitle
string (optional) - An alternative title string provided only to accessibility tools such as screen readers. This string is not directly visible to users.
spellcheck
boolean (optional) - Whether to enable the builtin spellchecker. По умолчанию - true
.
enableWebSQL
boolean (optional) - Whether to enable the WebSQL api. По умолчанию - true
.
v8CacheOptions
string (optional) - Enforces the v8 code caching policy used by blink. Accepted values are
none
- Disables code caching
code
- Heuristic based code caching
bypassHeatCheck
- Bypass code caching heuristics but with lazy compilation
bypassHeatCheckAndEagerCompile
- Same as above except compilation is eager. Default policy is code
.
enablePreferredSizeMode
boolean (optional) - Whether to enable preferred size mode. The preferred size is the minimum size needed to contain the layout of the document—without requiring scrolling. Enabling this will cause the preferred-size-changed
event to be emitted on the WebContents
when the preferred size changes. По умолчанию - false
.
transparent
boolean (optional) - Whether to enable background transparency for the guest page. По умолчанию - true
. Note: The guest page's text and background colors are derived from the color scheme of its root element. When transparency is enabled, the text color will still change accordingly but the background will remain transparent.
Свойства экземпляра
Объекты, созданные с помощью new BrowserView
, имеют следующие свойства:
view.webContents
Experimental Deprecated
History
Объект WebContents
, принадлежащий этому виду.
Методы экземпляра
Объекты, созданные с помощью new BrowserView
, имеют следующие свойства:
view.setAutoResize(options)
Experimental Deprecated
History
options
Object
width
boolean (опционально) - если true
, то ширина будет увеличиваться и уменьшаться вместе с окном. По умолчанию false
.
height
boolean (опционально) - если true
, то высота будет увеличиваться и уменьшаться вместе с окном. По умолчанию false
.
horizontal
boolean (опционально) - если true
, то положение по X и ширина будут увеличиваться и уменьшаться вместе с окном. По умолчанию false
.
vertical
boolean (опционально) - если true
, то положение по Y и высота будут увеличиваться и уменьшаться вместе с окном. По умолчанию false
.
view.setBounds(bounds)
Experimental Deprecated
History
Изменяет и перемещает вид в предоставленные границы относительно окна.
view.getBounds()
Experimental Deprecated
History
Возвращает Rectangle
bounds
этого экземпляра BrowserView как Object
.
view.setBackgroundColor(color)
Experimental Deprecated
History
color
string - Color in Hex, RGB, ARGB, HSL, HSLA or named CSS color format. The alpha channel is optional for the hex type.
Examples of valid color
values:
- Hex
#fff
(RGB)
#ffff
(ARGB)
#ffffff
(RRGGBB)
#ffffffff
(AARRGGBB)
- RGB
rgb\(([\d]+),\s*([\d]+),\s*([\d]+)\)
- RGBA
rgba\(([\d]+),\s*([\d]+),\s*([\d]+),\s*([\d.]+)\)
- e.g.
rgba(255, 255, 255, 1.0)
- HSL
hsl\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%\)
- HSLA
hsla\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)
- e.g.
hsla(200, 20%, 50%, 0.5)
- Color name
- Options are listed in SkParseColor.cpp
- Similar to CSS Color Module Level 3 keywords, but case-sensitive.
Note: Hex format with alpha takes AARRGGBB
or ARGB
, not RRGGBBAA
or RGB
.