BrowserWindowConstructorOptions Object
width
整数型 (可选) - 窗口的宽度(以像素为单位)。 默认值为800
。height
整数型 (可选) - 窗口的高度(以像素为单位)。 默认值为600
。x
Interger (可选) - (必选 如果使用了y) 窗口相对于屏幕左侧的偏移量。 默认值为将窗口居中。y
Integer (可选) - (必选 如果使用了x) 窗口相对于屏幕顶端的偏移量。 默认值为将窗口居中。useContentSize
boolean (可选) -width
和height
将设置为 web 页面的尺寸(译注: 不包含边框), 这意味着窗口的实际尺寸将包括窗口边框的大小,稍微会大一点。 默认值为false
.center
boolean (可选) - 窗口是否在屏幕居中. 默认值为false
.- 整型(可选)-窗口的最小宽度。默认为0 默认值为
0
. minHeight
Integer(可选) - 窗口的最小高度。 默认值为0
.maxWidth
Integer(可选)-窗口的最大宽度。 默认值不限maxHeight
Integer (可选) - 窗口的最大高度。 默认值不限resizable
boolean (可选) - 窗口大小是否可调整。 默认值为true
。movable
boolean (可选) macOS Windows - 窗口是否可移动。 在 Linux 上未实现。 默认值为true
。minimizable
boolean (可选) macOS Windows - 窗口是否可最小化。 在 Linux 上未实现。 默认值为true
。maximizable
boolean (可选) macOS Windows - 窗口是否最大化。 在 Linux 上未实现。 默认值为true
。closable
boolean (可选) macOS Windows - 窗口是否可关闭。 在 Linux 上未实现。 默认值为true
。focusable
boolean (可选) - 窗口是否可以聚焦. 默认值为true
。 在 Windows 中设置focusable: false
也意味着设置了skipTaskbar: true
. 在 Linux 中设置focusable: false
时窗口停止与 wm 交互, 并且窗口将始终置顶。alwaysOnTop
boolean (可选) - 窗口是否永远在别的窗口的上面。 默认值为false
.fullscreen
boolean (可选) - 窗口是否全屏. 当明确设置为false
时,在 macOS 上全屏的按钮将被隐藏或禁用. 默认值为false
.fullscreenable
boolean (可选) - 窗口是否可以进入全屏状态. 在 macOS上, 最大化/缩放按钮是否可用 默认值为true
。simpleFullscreen
boolean (可选) macOS - 在 macOS 上使用 pre-Lion 全屏。 默认值为false
.skipTaskbar
boolean (可选) macOS Windows - 是否在任务栏中显示窗口。 默认值为false
.hiddenInMissionControl
boolean (optional) macOS - Whether window should be hidden when the user toggles into mission control.kiosk
boolean (可选) - 窗口是否进入kiosk模式。 默认值为false
.title
string(可选) - 默认窗口标题 默认为"Electron"
。 如果由loadURL()
加载的HTML文件中含有标签<title>
,此属性将被忽略。icon
(NativeImage | string) (可选) - 窗口图标。 在 Windows 上推荐使用ICO
图标来获得最佳的视觉效果, 默认使用可执行文件的图标.show
boolean (可选) - 窗口是否在创建时显示。 默认值为true
。paintWhenInitiallyHidden
boolean(可选) - 当show
为false
并且渲染器刚刚被创建时,它是否应激活。 为了让document.visibilityState
在show: false
的情况下第一次加载时正确地工作,你应该把这个设置成false
. 设置为false
将会导致ready-to-show
事件不触发。 默认值为true
。frame
boolean (可选) - 设置为false
时可以创建一个无边框窗口 默认值为true
。parent
BrowserWindow (可选) - 指定父窗口 默认值为null
.modal
boolean (可选) - 当前是否为模态窗口。 只有当窗口是子窗口时才起作用。 默认值为false
.acceptFirstMouse
boolean (可选) macOS - 点击 非活动窗口是否会穿透到 web contents。 在 macOS 中默认为false
。 此选项在其他平台上不可配置。disableAutoHideCursor
boolean (可选) - 是否在打字时隐藏光标。 默认值为false
.autoHideMenuBar
boolean (可选) - 自动隐藏菜单栏,除非按了Alt
键。 默认值为false
.enableLargerThanScreen
boolean (可选) macOS - 使窗口尺寸可大于屏幕的大小。 仅与 macOS 相关,其他操作系统默认允许大于屏幕的窗口。 默认值为false
.backgroundColor
string (可选) - 窗口背景色,格式为 Hex, RGB, RGBA, HSL, HSLA 或 CSS 命名颜色。 如果transparent
设置为true
,则支持#AARRGGBB格式的透明。 默认值为#FFF
(白色)。 更多详细信息,请参阅 win.setBackgroundColor。hasShadow
boolean (可选) - 窗口是否有阴影. 默认值为true
。opacity
number (可选) macOS Windows - 设置窗口的初始透明度,在 0.0(全透明)和 1.0(完全不透明)之间 。 目前仅在 Windows 和 macOS上实现。darkTheme
boolean (optional) - 强制窗口使用深色主题,只在部分GTK+3桌面环境下有效。 默认值为false
.transparent
boolean (可选) - 使窗口 透明。 默认值为false
. 在Windows上,仅在无边框窗口下起作用。type
string (可选) - 窗口的类型, 默认为普通窗口. 更多信息见下文visualEffectState
string (可选) macOS - 在 macOS 上指定外观应如何响应窗口活动状态。 必须与vibrancy
属性一起使用。 可能的值有followWindow
- 当窗口处于激活状态时,后台应自动显示为激活状态,当窗口处于非激活状态时,后台应自动显示为非激活状态。 默认为该值。active
- 后台应一直显示为激活状态。inactive
- 后台应一直显示为非激活状态。
titleBarStyle
string (可选) macOS Windows - 窗口标题栏样式。 默认值为default
. 可能的值有default
- 分别返回 macOS 或者 Windows 的标准标题栏hidden
- 在一个隐藏的标题栏和一个全尺寸大小的内容窗口中取得结果。 在 macOS 内, 窗口将一直拥有位于左上的标准窗口控制器 (“traffic lights”)。 在 Windows上,当与titleBarOverlay: true
合并时,它将激活窗口控件叠加(详情请参阅titleBarOverlay
),否则将不会显示窗口控件。hiddenInset
macOS - 仅 macOS,隐藏标题栏,使用窗口边缘稍微小的红绿灯按钮替代。customButtonsOnHover
macOS - 仅 macOS,隐藏的标题栏的全尺寸的内容窗口, 红绿灯按钮在鼠标悬停在窗口左上方时显示。 注意: 此选项目前是实验性的。
trafficLightPosition
Point (可选) macOS - 在无边框窗口中设置灯绿灯按钮位置。roundedCorners
boolean (可选) macOS - 无边框窗口在 macOS 上,是否应该有圆角。 默认值为true
。 属性设置为false
,将阻止窗口是可全屏的。fullscreenWindowTitle
boolean (可选) macOS 已弃用 - titleBarStyle 设置为hiddenInset
时,在 macOS 全屏模式下标题栏显示标题。 默认值为false
.thickFrame
boolean(可选)-对 Windows 上的无框窗口使用WS_THICKFRAME
样式,会增加标准窗口框架。 设置为false
时将移除窗口的阴影和动画. 默认值为true
。vibrancy
string (可选) macOS - 为窗口添加一种类型的动态效果,仅 macOS。 可以是appearance-based
,light
,dark
,titlebar
,selection
,menu
,popover
,sidebar
,medium-light
,ultra-dark
,header
,sheet
,window
,hud
,fullscreen-ui
,tooltip
,content
,under-window
或under-page
。 请注意appearance-based
,light
,dark
,medium-light
和ultra-dark
已弃用,在 macOS Catalina (10.15) 中已经移除。backgroundMaterial
string (optional) Windows - Set the window's system-drawn background material, including behind the non-client area. 可以是auto
,none
,mica
,acrylic
或tabbed
. 更多详细信息,请参阅 win.setBackgroundMaterial。zoomToPageWidth
boolean (可选) macOS - 在 macOS 上控制,当按住 option 点击工具栏绿色红绿灯按钮或点击窗口 > 放大菜单项的行为。 如果为true
,窗口为将会缩放到适合宽度,若为false
将会放大到屏幕宽度。 这也会影响,直接调用maximize()
的行为。 默认值为false
.tabbingIdentifier
string (optional) macOS - Tab group name, allows opening the window as a native tab. Windows 中,有相同选项卡标识的将会组合在一起。 这会添加一个原生新增选项卡按钮到你窗口的选项卡栏,同时app
和窗口允许接收new-window-for-tab
事件。webPreferences
WebPreferences (optional) - Settings of web page's features.devTools
boolean (可选) - 是否开启 DevTools. 如果设置为false
, 则无法使用BrowserWindow.webContents.openDevTools ()
打开 DevTools。 默认值为true
。nodeIntegration
boolean (可选) - 是否启用Node integration. 默认值为false
.nodeIntegrationInWorker
boolean (可选) - 是否在Web工作器中启用了Node集成. 默认值为false
. 更多内容参见 多线程.nodeIntegrationInSubFrames
boolean (可选项)(实验性),是否允许在子页面(iframe)或子窗口(child window)中集成Node.js; 预先加载的脚本会被注入到每一个iframe,你可以用process.isMainFrame
来判断当前是否处于主框架(main frame)中。preload
string (可选) -在页面运行其他脚本之前预先加载指定的脚本 无论页面是否集成Node, 此脚本都可以访问所有Node API 脚本路径为文件的绝对路径。 当 node integration 关闭时, 预加载的脚本将从全局范围重新引入node的全局引用标志 参考示例.sandbox
boolean (可选)-如果设置该参数, 沙箱的渲染器将与窗口关联, 使它与Chromium OS-level 的沙箱兼容, 并禁用 Node. js 引擎。 它与nodeIntegration
的选项不同,且预加载脚本的 API 也有限制. 更多详情.session
Session (可选) - 设置页面的 session 而不是直接忽略 Session 对象, 也可用partition
选项来代替,它接受一个 partition 字符串. 同时设置了session
和partition
时,session
的优先级更高. 默认使用默认的 session.partition
string (optional) - 通过 session 的 partition 字符串来设置界面session. 如果partition
以persist:
开头, 该页面将使用持续的 session,并在所有页面生效,且使用同一个partition
. 如果没有persist:
前缀, 页面将使用 in-memory session. 通过分配相同的partition
, 多个页可以共享同一会话。 默认使用默认的 session.zoomFactor
number (可选) - 页面的默认缩放系数,3.0
表示300%
。 默认值为1.0
.javascript
boolean (可选) - 是否启用 JavaScript 支持。 默认值为true
。webSecurity
boolean (可选) - 当设置为false
, 它将禁用同源策略 (通常用来测试网站), 如果此选项不是由开发者设置的,还会把allowRunningInsecureContent
设置为true
. 默认值为true
。allowRunningInsecureContent
boolean (可选) - 允许一个 https 页面运行来自http url的JavaScript, CSS 或 plugins。 默认值为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 (可选) macOS - 启用滚动回弹(橡皮筋)效果。 默认值为false
.enableBlinkFeatures
string(可选) - 以逗号
分隔的需要启用的特性列表,譬如CSSVariables,KeyboardEventKey
在 RuntimeEnabledFeatures.json5文件中查看被支持的所有特性.disableBlinkFeatures
string (可选) - 以,
分隔的禁用特性列表, 如CSSVariables,KeyboardEventKey
. 在RuntimeEnabledFeatures.json5 文件中查看被支持的所有特性.defaultFontFamily
Object (可选) - 为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
.
defaultFontSize
Integer (可选) - 默认值为16
.defaultMonospaceFontSize
Integer (可选) - 默认值为13
.minimumFontSize
Integer (可选) - 默认值为0
.defaultEncoding
string (可选) - 默认值为ISO-8859-1
.backgroundThrottling
boolean (可选)-是否在页面成为背景时限制动画和计时器。 这也会影响到 Page Visibility API. 默认值为true
。offscreen
boolean (optional) - 是否绘制和渲染可视区域外的窗口. 默认值为false
. 更多详情, 请参见 offscreen rendering tutorial 。contextIsolation
boolean (可选) - 是否在独立 JavaScript 环境中运行 Electron API和指定的preload
脚本. 默认为true
。预加载
脚本所运行的上下文环境只能访问其自身专用的文档
和全局窗口
,其自身一系列内置的JavaScript (Array
,Object
,JSON
, 等等) 也是如此,这些对于已加载的内容都是不可见的。 Electron API 将只在预加载
脚本中可用,在已加载页面中不可用。 这个选项应被用于加载可能不被信任的远程内容时来确保加载的内容无法篡改预加载
脚本和任何正在使用的Electron api。 该选项使用的是与Chrome内容脚本相同的技术。 你可以在开发者工具Console选项卡内顶部组合框中选择 'Electron Isolated Context'条目来访问这个上下文。webviewTag
boolean (可选) - 是否启用<webview>
tag标签. 默认值为false
. 注意: 为< webview>
配置的preload
脚本在执行时将启用节点集成, 因此应确保远程或不受信任的内容无法创建恶意的preload
脚本 。 可以使用 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 (可选) - 是否启用首选大小模式。 首选大小是包含文档布局所需的最小大小--无需滚动。 启用该属性将导致在首选大小发生变化时,在WebContents
上触发preferred-size-changed
事件。 默认值为false
.
titleBarOverlay
Object | Boolean (optional) - When using a frameless window in conjunction withwin.setWindowButtonVisibility(true)
on macOS or using atitleBarStyle
so that the standard window controls ("traffic lights" on macOS) are visible, this property enables the Window Controls Overlay JavaScript APIs and CSS Environment Variables. 指定true
将导致覆盖默认系统颜色。 默认值为false
.color
String (可选) Windows - 启用窗口控制时覆盖面的 CSS 颜色 默认是系统颜色。symbolColor
String (可选) Windows - 启用时窗口控制中符号的 CSS 颜色 默认是系统颜色。height
Integer (可选) macOS Windows - 标题栏和 Window Controls Overlay,以像素为单位。 默认值为系统高度。
当使用 minWidth
/maxWidth
/minHeight
/maxHeight
设置最小或最大窗口大小时, 它只限制用户。 它不会阻止您将不符合大小限制的值传递给 setBounds
/setSize
或 BrowserWindow
的构造函数。
type
选项的候选值和行为与平台相关。 可能的值有
- 在 Linux 上, 可能的类型有
desktop
、dock
、toolbar
、splash
、notification
。- The
desktop
type places the window at the desktop background window level (kCGDesktopWindowLevel - 1). However, note that a desktop window will not receive focus, keyboard, or mouse events. You can still use globalShortcut to receive input sparingly. - The
dock
type creates a dock-like window behavior. - The
toolbar
type creates a window with a toolbar appearance. - The
splash
type behaves in a specific way. It is not draggable, even if the CSS styling of the window's body contains -webkit-app-region: drag. This type is commonly used for splash screens. - The
notification
type creates a window that behaves like a system notification.
- The
- 在 macOS 上,可能的类型为
desktop
,textured
,panel
。textured
类型增加金属色泽的外观 (NSWindowStyleMaskTexturedBackground
).desktop
类型将窗口置于桌面背景级别 (kCGDesktopWindowLevel - 1
). 注意,桌面窗口不会接收焦点、键盘或鼠标事件,但您可以使用globalShortcut
接收快捷键的消息panel
类型,窗口浮于全屏应用顶部,通过添加NSWindowStyleMaskNonactivatingPanel
样式掩码,通常为NSPanel 保留,在运行时。 此外, 该窗口将出现在所有空间(桌面)上。
- 在 Windows 上, 可能的类型为
toolbar
.