BrowserWindowConstructorOptions 对象继承自 BaseWindowConstructorOptions
webPreferences
WebPreferences (可选) - 网页功能的设置。
devTools
boolean (可选) - 是否启用 DevTools。 如果设置为 false
,则不能使用 BrowserWindow.webContents.openDevTools()
打开 DevTools。 默认为 true
。
nodeIntegration
boolean (可选) - 是否启用 Node 集成。 默认为 false
。
nodeIntegrationInWorker
boolean (可选) - 是否在 web worker 中启用 Node 集成。 默认为 false
。 有关更多信息,请参阅 多线程。
nodeIntegrationInSubFrames
boolean (可选) - 用于在子帧(如 iframe 和子窗口)中启用 Node.js 支持的实验性选项。 所有预加载脚本都将为每个 iframe 加载,你可以使用 process.isMainFrame
来确定你是否位于主框架中。
preload
string (可选) - 指定将在页面中运行的其他脚本之前加载的脚本。 无论是否启用 Node 集成,此脚本始终可以访问 Node API。 该值应为脚本的绝对文件路径。 关闭 Node 集成后,预加载脚本可以将 Node 全局符号重新引入到全局范围。 请参阅 此处的示例。
sandbox
boolean (可选) - 如果设置,这将对与窗口关联的渲染器进行沙盒处理,使其与 Chromium OS 级别的沙盒兼容,并禁用 Node.js 引擎。 这与 nodeIntegration
选项不同,并且可用于预加载脚本的 API 受到更多限制。 阅读有关 此处选项的更多信息。
session
Session (可选) - 设置页面使用的会话。 除了直接传递 Session 对象之外,你还可以选择使用 partition
选项,该选项接受分区字符串。 当同时提供 session
和 partition
时,将优先使用 session
。 默认为默认会话。
partition
string (可选) - 根据会话的分区字符串设置页面使用的会话。 如果 partition
以 persist:
开头,则页面将使用可供应用程序中具有相同 partition
的所有页面使用的持久会话。 如果没有 persist:
前缀,则页面将使用内存中的会话。 通过分配相同的 partition
,多个页面可以共享相同的会话。 默认为默认会话。
zoomFactor
number (可选) - 页面的默认缩放因子,3.0
表示 300%
。 默认为 1.0
。
javascript
boolean (可选) - 启用 JavaScript 支持。 默认为 true
。
webSecurity
boolean (可选) - 当为 false
时,它将禁用同源策略(通常由人们使用测试网站),如果用户尚未设置此选项,则将 allowRunningInsecureContent
设置为 true
。 默认为 true
。
allowRunningInsecureContent
boolean (可选) - 允许 https 页面运行来自 http URL 的 JavaScript、CSS 或插件。 默认为 false
。
images
boolean (可选) - 启用图像支持。 默认为 true
。
imageAnimationPolicy
string (可选) - 指定如何运行图像动画(例如,GIF)。 可以是 animate
、animateOnce
或 noAnimation
。 默认为 animate
。
textAreasAreResizable
boolean (可选) - 使 TextArea 元素可调整大小。 默认为 true
。
webgl
boolean (可选) - 启用 WebGL 支持。 默认为 true
。
plugins
boolean (可选) - 是否应启用插件。 默认为 false
。
experimentalFeatures
boolean (可选) - 启用 Chromium 的实验性功能。 默认为 false
。
scrollBounce
boolean (optional) macOS - 在 macOS 上启用滚动反弹(橡皮筋)效果。 默认为 false
。
enableBlinkFeatures
string (可选) - 以 ,
分隔的特性字符串列表,例如 CSSVariables,KeyboardEventKey
来启用。 支持的特性字符串的完整列表可以在 RuntimeEnabledFeatures.json5 文件中找到。
disableBlinkFeatures
string (可选) - 以 ,
分隔的特性字符串列表,例如 CSSVariables,KeyboardEventKey
来禁用。 支持的特性字符串的完整列表可以在 RuntimeEnabledFeatures.json5 文件中找到。
defaultFontFamily
Object (可选) - 设置字体族的默认字体。
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。 当单个 browserWindow 中显示的至少一个 webContents 禁用了 backgroundThrottling
时,将为整个窗口和它显示的其他 webContents 绘制和交换帧。 默认为 true
。
offscreen
Object | boolean (可选) - 是否为浏览器窗口启用离屏渲染。 默认为 false
。 有关更多详细信息,请参阅 离屏渲染教程。
useSharedTexture
boolean (optional) Experimental - 是否使用 GPU 共享纹理来加速绘制事件。 默认为 false
。 有关更多详细信息,请参阅 离屏渲染教程。
contextIsolation
boolean (可选) - 是否在单独的 JavaScript 上下文中运行 Electron API 和指定的 preload
脚本。 默认为 true
。 preload
脚本在其中运行的上下文只能访问其自己的专用 document
和 window
全局变量,以及它自己的一组 JavaScript 内置函数(Array
、Object
、JSON
等),所有这些对于加载的内容都是不可见的。 Electron API 仅在 preload
脚本中可用,而不在加载的页面中可用。 加载可能不受信任的远程内容时,应使用此选项以确保加载的内容不会篡改 preload
脚本和正在使用的任何 Electron API。 此选项使用 Chrome 内容脚本 使用的相同技术。 你可以通过在 Console 选项卡顶部的组合框中选择“Electron Isolated Context”条目来访问开发工具中的此上下文。
webviewTag
boolean (可选) - 是否启用 <webview>
标签。 默认为 false
。 注意:为 <webview>
配置的 preload
脚本在执行时将启用 Node 集成,因此你应该确保远程/不受信任的内容无法创建具有可能恶意 preload
脚本的 <webview>
标签。 你可以使用 webContents 上的 will-attach-webview
事件来删除 preload
脚本,并验证或更改 <webview>
的初始设置。
additionalArguments
string[] (可选) - 一个字符串列表,将被附加到此应用程序的渲染器进程中的 process.argv
。 用于将少量数据传递到渲染器进程预加载脚本。
safeDialogs
boolean (可选) - 是否启用浏览器样式的连续对话框保护。 默认为 false
。
safeDialogsMessage
string (可选) - 触发连续对话框保护时显示的消息。 如果未定义,将使用默认消息,请注意,当前默认消息为英文,未本地化。
disableDialogs
boolean (可选) - 是否完全禁用对话框。 覆盖 safeDialogs
。 默认为 false
。
navigateOnDragDrop
boolean (可选) - 将文件或链接拖放到页面上是否会导致导航。 默认为 false
。
autoplayPolicy
string (可选) - 应用于窗口中内容的自动播放策略,可以是 no-user-gesture-required
、user-gesture-required
、document-user-activation-required
。 默认为 no-user-gesture-required
。
disableHtmlFullscreenWindowResize
boolean (可选) - 进入 HTML 全屏时是否阻止窗口调整大小。 默认为 false
。
accessibleTitle
string (可选) - 仅提供给屏幕阅读器等辅助工具的替代标题字符串。 此字符串对用户不可见。
spellcheck
boolean (可选) - 是否启用内置拼写检查器。 默认为 true
。
enableWebSQL
boolean (可选) - 是否启用 WebSQL api。 默认为 true
。
v8CacheOptions
string (可选) - 强制执行 blink 使用的 v8 代码缓存策略。 可接受的值为
none
- 禁用代码缓存
code
- 基于启发式的代码缓存
bypassHeatCheck
- 绕过代码缓存启发式,但使用延迟编译
bypassHeatCheckAndEagerCompile
- 与上面相同,只是编译是急切的。 默认策略是 code
。
enablePreferredSizeMode
boolean (optional) - 是否启用首选大小模式。 首选大小是包含文档布局所需的最小大小,而无需滚动。 启用此选项将导致在首选大小更改时在 WebContents
上发出 preferred-size-changed
事件。 默认为 false
。
transparent
boolean (optional) - 是否为访客页面启用背景透明度。 默认为 true
。 注意:访客页面的文本和背景颜色源自其根元素的 颜色方案。 启用透明度后,文本颜色仍会相应更改,但背景将保持透明。
enableDeprecatedPaste
boolean (optional) Deprecated - 是否启用 paste
execCommand。 默认为 false
。
enableCornerSmoothingCSS
boolean (optional) Experimental - 是否启用 -electron-corner-smoothing
CSS 规则。 默认为 true
。
paintWhenInitiallyHidden
boolean (optional) - 当 show
为 false
且刚创建时,渲染器是否应处于活动状态。 为了使 document.visibilityState
在首次加载时与 show: false
一起正常工作,你应该将其设置为 false
。 将其设置为 false
将导致 ready-to-show
事件不触发。 默认为 true
。