Skip to main content

BaseWindowConstructorOptions 对象

🌐 BaseWindowConstructorOptions Object

  • width Integer(optional)- 窗口的像素宽度。默认值为 800
  • height Integer(optional)- 窗口的高度,以像素为单位。默认值是 600
  • x Integer(optional)- (如果使用 y 则必填)窗口相对于屏幕的左侧偏移量。默认情况下,窗口居中显示。
  • y Integer(optional)- (如果使用 x 则必填)窗口顶部相对于屏幕的偏移量。默认情况下窗口居中。
  • useContentSize boolean(optional)- widthheight 将用作网页的尺寸,这意味着实际窗口的尺寸将包括窗口框架的大小,并且会略大。默认值是 false
  • center boolean(optional)- 将窗口显示在屏幕中央。默认值是 false
  • minWidth Integer(optional)- 窗口的最小宽度。默认值是 0
  • minHeight Integer(optional)- 窗口的最小高度。默认值为 0
  • maxWidth Integer(optional)- 窗口的最大宽度。默认是无限制。
  • maxHeight Integer(optional)- 窗口的最大高度。默认没有限制。
  • resizable boolean(optional)- 窗口是否可调整大小。默认值为 true
  • movable boolean (optional) macOS Windows - 窗口是否可移动。这在 Linux 上未实现。默认值是 true
  • minimizable boolean (optional) macOS Windows - 窗口是否可以最小化。这在 Linux 上未实现。默认值为 true
  • maximizable boolean (optional) macOS Windows - 窗口是否可以最大化。在 Linux 上未实现。默认值是 true
  • closable boolean (optional) macOS Windows - 窗口是否可以关闭。这在 Linux 上未实现。默认值是 true
  • focusable boolean(optional)- 窗口是否可以获得焦点。默认值是 true。在 Windows 上设置 focusable: false 也意味着设置 skipTaskbar: true。在 Linux 上设置 focusable: false 会使窗口停止与窗口管理器交互,因此窗口将在所有工作区始终保持在最上层。
  • alwaysOnTop boolean(optional)- 窗口是否应始终位于其他窗口之上。默认值为 false
  • fullscreen boolean(optional)- 窗口是否应显示为全屏。当明确设置为 false 时,macOS 上的全屏按钮将被隐藏或禁用。默认值为 false
  • fullscreenable boolean(optional)- 窗口是否可以进入全屏模式。在 macOS 上,还需要确定最大化/缩放按钮是切换全屏模式还是最大化窗口。默认值是 true
  • simpleFullscreen boolean (optional) macOS - 在 macOS 上使用 Lion 之前的全屏模式。默认是 false
  • skipTaskbar boolean (optional) macOS Windows - 是否在任务栏显示窗口。默认值是 false
  • hiddenInMissionControl boolean (optional) macOS - 当用户切换到任务控制时,窗口是否应该被隐藏。
  • kiosk boolean(optional)- 窗口是否处于自助终端模式。默认值为 false
  • title string(optional)- 默认窗口标题。默认值是 "Electron"。如果在 loadURL() 加载的 HTML 文件中定义了 HTML 标签 <title>,则此属性将被忽略。
  • icon本地图片 | 字符串)(可选))- 窗口图标。在 Windows 上,建议使用 ICO 图标以获得最佳视觉效果,你也可以将其留空,这样将使用可执行文件的图标。
  • show boolean(optional)- 创建时窗口是否应该显示。默认值是 true
  • frame boolean(optional)- 指定 false 来创建一个 无边框窗口。默认值是 true
  • parent BaseWindow(optional)- 指定父窗口。默认是 null
  • modal boolean(optional)- 这是否是一个模态窗口。仅当窗口是子窗口时此功能才有效。默认值是 false
  • acceptFirstMouse boolean (optional) macOS - 点击非活动窗口是否也会点击到网页内容。macOS 上默认值为 false。此选项在其他平台上不可配置。
  • disableAutoHideCursor boolean(optional)- 输入时是否隐藏光标。默认是 false
  • autoHideMenuBar boolean (optional) Linux Windows - 自动隐藏菜单栏,除非按下 Alt 键。默认是 false
  • enableLargerThanScreen boolean (optional) macOS - 启用窗口调整为大于屏幕的大小。仅与 macOS 相关,因为其他操作系统默认允许大于屏幕的窗口。默认值为 false
  • backgroundColor string(optional)- 窗口的背景颜色使用 Hex、RGB、RGBA、HSL、HSLA 或 CSS 命名颜色格式。如果 transparent 设置为 true,则支持 #AARRGGBB 格式的 Alpha。默认值为 #FFF(白色)。更多信息请参见 win.setBackgroundColor
  • hasShadow boolean(optional)- 窗口是否应该有阴影。默认值是 true
  • opacity number (optional) macOS Windows - 设置窗口的初始不透明度,范围在 0.0(完全透明)到 1.0(完全不透明)之间。这仅在 Windows 和 macOS 上实现。
  • darkTheme boolean(optional)- 在窗口中使用深色主题,仅适用于某些 GTK+3 桌面环境。默认值是 false
  • transparent boolean(optional)- 使窗口透明。默认值是false。在 Windows 上,除非窗口无边框,否则无法工作。当你向一个BaseWindow添加View时,你需要在该视图上使用透明背景颜色调用view.setBackgroundColor以使其背景也透明。
  • type string(optional)- 窗口的类型,默认是普通窗口。更多信息见下文。
  • visualEffectState string (optional) macOS - 指定材质外观应如何反映 macOS 上窗口的活动状态。必须与 vibrancy 属性一起使用。可能的值有:
    • followWindow - 当窗口处于活动状态时,背景应自动显示为活动状态;当窗口不处于活动状态时,应显示为非活动状态。这是默认设置。
    • active - 背景应始终保持活跃。
    • inactive - 背景应始终显示为非活动状态。
  • titleBarStyle string(optional)- 窗口标题栏的样式。默认是 default。可能的取值有:
    • default - 分别显示在 macOS 或 Windows 的标准标题栏中。
    • hidden - 结果是一个隐藏的标题栏和全尺寸内容窗口。在 macOS 上,窗口的左上角仍然有标准的窗口控制(“交通灯”按钮)。在 Windows 和 Linux 上,如果与 titleBarOverlay: true 结合使用,它将激活窗口控制覆盖(更多信息请参见 titleBarOverlay),否则将不会显示任何窗口控制。
    • hiddenInset macOS - 在隐藏标题栏中产生效果,具有一种替代外观,其中交通灯按钮稍微向窗口边缘内缩。
    • customButtonsOnHover macOS - 会导致隐藏标题栏和全尺寸内容窗口,交通灯按钮在鼠标悬停时会显示在窗口左上角。**注意:**此选项目前处于实验阶段。
  • titleBarOverlay Object | Boolean(optional)- 在 macOS 上将无边框窗口与 win.setWindowButtonVisibility(true) 一起使用,或使用 titleBarStyle 以便显示标准窗口控件(macOS 上的“交通灯”),此属性启用窗口控件覆盖 JavaScript 应用接口CSS 环境变量。指定 true 将生成具有默认系统颜色的覆盖。默认值为 false
    • color String (optional) Windows Linux - 启用时窗口控制覆盖的 CSS 颜色。默认是系统颜色。
    • symbolColor String (optional) Windows Linux - 启用时,窗口控件覆盖上的符号的 CSS 颜色。默认是系统颜色。
    • height Integer(optional)- 标题栏和窗口控件覆盖的高度(以像素为单位)。默认值为系统高度。
  • accentColor boolean | string (optional) Windows - 窗口的强调颜色。默认情况下,遵循系统设置中的用户偏好。设置为 false 可明确禁用,或以 Hex、RGB、RGBA、HSL、HSLA 或命名的 CSS 颜色格式设置颜色。Alpha 值将被忽略。
  • trafficLightPosition Point (optional) macOS - 在无边框窗口中为交通灯按钮设置自定义位置。
  • roundedCorners boolean (optional) macOS Windows - 无边框窗口是否应有圆角。默认值为 true。在 Windows 11 Build 22000 之前的 Windows 版本中,此属性无效,无边框窗口将不会有圆角。
  • thickFrame boolean (optional) Windows - 在 Windows 上对无边框窗口使用 WS_THICKFRAME 样式,这会添加标准窗口边框。将其设置为 false 将移除窗口阴影和窗口动画,并禁用通过拖动窗口边缘来调整窗口大小。默认值是 true
  • vibrancy string (optional) macOS - 仅在 macOS 上向窗口添加一种活力效果。可以是 appearance-basedtitlebarselectionmenupopoversidebarheadersheetwindowhudfullscreen-uitooltipcontentunder-windowunder-page
  • backgroundMaterial string (optional) Windows - 设置窗口的系统绘制背景材质,包括非客户区后面的部分。可以是 autononemicaacrylictabbed。更多信息请参见 win.setBackgroundMaterial
  • zoomToPageWidth boolean (optional) macOS - 控制在 macOS 上当按住 Option 键点击工具栏的绿色停止灯按钮或通过点击窗口 > 缩放菜单项时的行为。如果为 true,窗口在缩放时将扩展到网页的首选宽度;false 会使其缩放到屏幕宽度。这也会影响直接调用 maximize() 时的行为。默认值为 false
  • tabbingIdentifier string (optional) macOS - 选项卡组名称,允许将窗口作为本地选项卡打开。具有相同选项卡标识符的窗口将被分组。这还会在你的窗口选项卡栏中添加一个本地新选项卡按钮,并允许你的 app 和窗口接收 new-window-for-tab 事件。

在使用 minWidth/maxWidth/minHeight/maxHeight 设置最小或最大窗口大小时,它仅限制用户操作。它不会阻止你将不符合大小约束的尺寸传递给 setBounds/setSizeBrowserWindow 的构造函数。

🌐 When setting minimum or maximum window size with minWidth/maxWidth/ minHeight/maxHeight, it only constrains the users. It won't prevent you from passing a size that does not follow size constraints to setBounds/setSize or to the constructor of BrowserWindow.

type 选项的可能值和行为取决于平台。可能的值有:

🌐 The possible values and behaviors of the type option are platform dependent. Possible values are:

  • 在 Linux 上,可能的类型有 desktopdocktoolbarsplashnotification
    • desktop 类型将窗口放置在桌面背景窗口级别 (kCGDesktopWindowLevel - 1)。但是,请注意,桌面窗口不会接收焦点、键盘或鼠标事件。你仍然可以使用 globalShortcut 来有限地接收输入。
    • dock 类型会创建类似停靠窗口的行为。
    • toolbar 类型会创建一个带有工具栏外观的窗口。
    • splash 类型具有特定的行为。即使窗口主体的 CSS 样式包含 -webkit-app-region: drag,它也无法被拖动。这种类型通常用于启动画面。
    • notification 类型创建一个行为类似系统通知的窗口。
  • 在 macOS 上,可能的类型有 desktoptexturedpanel
    • textured 类型增加了金属渐变效果。此选项已 不推荐使用
    • desktop 类型将窗口放置在桌面背景窗口级别(kCGDesktopWindowLevel - 1)。请注意,桌面窗口不会获得焦点、键盘或鼠标事件,但你可以使用 globalShortcut 来少量接收输入。
    • panel 类型通过在运行时添加通常保留给 NSPanel 的 NSWindowStyleMaskNonactivatingPanel 样式掩码,使窗口能够在全屏应用之上浮动。此外,窗口将出现在所有空间(桌面)上。
  • 在 Windows 上,可能的类型是 toolbar