Electron 备忘清单 & electron cheatsheet & 速查表
| :- | :- |
|---|---|
width 整数 | 窗口的宽度(以像素为单位)。默认值 (800) |
height 整数 | 窗口的高度(以像素为单位)。默认值 (600) |
x 整数 (可选) | 窗口相对于屏幕左侧偏移量。默认值窗口居中 |
y 整数 (可选) | 窗口相对于屏幕顶端偏移量。默认值窗口居中 |
useContentSize boolean | (宽) 和 (高) 设置为web页面的尺寸。默认值 (false) |
center boolean | 窗口是否在屏幕居中。默认值 (false) |
minHeight 整数 | 窗口的最小高度。默认值 (0) |
maxWidth 整数 | 窗口的最大宽度。默认值不限 |
maxHeight 整数 | 窗口的最大高度。默认值不限 |
resizable boolean | 窗口大小是否可调整。默认值 (true) |
movable boolean (win/mac) | 窗口是否可移动。默认值 (true) |
minimizable boolean (win/mac) | 窗口是否可最小化。默认值 (true) |
maximizable boolean (win/mac) | 窗口是否最大化。默认值 (true) |
closable boolean (win/mac) | 窗口是否可关闭。默认值 (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 (mac) | 在 macOS 上使用 pre-Lion 全屏。默认值 (false) |
skipTaskbar boolean (win/mac) | 是否在任务栏中显示窗口。默认值 (false) |
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 (mac) | 点击 非活动窗口是否会穿透到 web contents。默认值 (false) |
disableAutoHideCursor boolean | 是否在打字时隐藏光标。默认值 (false) |
autoHideMenuBar boolean | 自动隐藏菜单栏,除非按了_(Alt)_键。默认值 (false) |
enableLargerThanScreen boolean (mac) | 使窗口尺寸可大于屏幕的大小。其他操作系统默认允许大于屏幕的窗口。默认值 (false) |
backgroundColor string | 窗口背景色,格式为 Hex, RGB, RGBA, HSL, HSLA 或 CSS 命名颜色。如果 (transparent) 设置为 (true),则支持 #AARRGGBB 格式的透明。默认值 (#FFF)(白色) |
hasShadow boolean | 窗口是否有阴影. 默认值 (true) |
opacity number (win/mac) | 设置窗口的初始透明度,在 0.0(全透明)和 1.0(完全不透明)之间 。 目前仅在 Windows 和 macOS上实现。 |
darkTheme boolean | 强制窗口使用深色主题,只在部分GTK+3桌面环境下有效。 默认值 (false). |
transparent boolean | 使窗口 透明。 默认值 (false). 在Windows上,仅在无边框窗口下起作用。 |
type string | 窗口的类型, 默认为普通窗口. 更多信息见下文 |
visualEffectState string (mac) | 在 macOS 上指定外观应如何响应窗口活动状态。 必须与 (vibrancy) 属性一起使用。 可能的值有 |
visualEffectState.followWindow | 当窗口处于激活状态时,后台应自动显示为激活状态,当窗口处于非激活状态时,后台应自动显示为非激活状态。 默认为该值。 |
visualEffectState.active | 后台应一直显示为激活状态。 |
visualEffectState.inactive | 后台应一直显示为非激活状态。 |
titleBarStyle string (win/mac) | 窗口标题栏样式。默认值 (default) |
titleBarStyle.default | 分别返回 mac 或者 win 的标准标题栏 |
titleBarStyle.hidden | 在一个隐藏的标题栏和一个全尺寸大小的内容窗口中取得结果。 在 macOS 内, 窗口将一直拥有位于左上的标准窗口控制器 (“traffic lights”)。 在 Windows上,当与 (titleBarOverlay: true) 合并时,它将激活窗口控件叠加(详情请参阅 (titleBarOverlay)),否则将不会显示窗口控件。 |
titleBarStyle.hiddenInset (mac) | 隐藏标题栏,使用窗口边缘稍微小的红绿灯按钮替代。 |
titleBarStyle.customButtonsOnHover (mac) | 隐藏的标题栏的全尺寸的内容窗口, 红绿灯按钮在鼠标悬停在窗口左上方时显示。**注意:**此选项目前是实验性的。 |
trafficLightPosition Point (mac) | 在无边框窗口中设置灯绿灯按钮位置。 |
roundedCorners boolean (mac) | 无边框窗口在 macOS 上,是否应该有圆角。 默认值为 (true)。 属性设置为 (false) ,将阻止窗口是可全屏的。 |
fullscreenWindowTitle | titleBarStyle 设置为 (hiddenInset) 时,在 macOS 全屏模式下标题栏显示标题。默认值为 (false). |
thickFrame boolean | 对 Windows 上的无框窗口使用 (WS_THICKFRAME) 样式,会增加标准窗口框架。 设置为 (false) 时将移除窗口的阴影和动画. 默认值为 (true)。 |
vibrancy string (mac) | 为窗口添加一种类型的动态效果,仅 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) 中已经移除。 |
zoomToPageWidth boolean (mac) | 在 macOS 上控制,当按住 option 点击工具栏绿色红绿灯按钮或点击窗口 > 放大菜单项的行为。 如果为 (true),窗口为将会缩放到适合宽度,若为 (false) 将会放大到屏幕宽度。 这也会影响,直接调用 (maximize()) 的行为。 默认值为 (false). |
tabbingIdentifier string (mac) | 选项卡组名称,允许在原生选择卡中打开窗口,macOS 10.12+ 支持。 Windows 中,有相同选项卡标识的将会组合在一起。 这会添加一个原生新增选项卡按钮到你窗口的选项卡栏,同时 (app) 和窗口允许接收 (new-window-for-tab) 事件。 |
webPreferences Object | 网页功能设置。 |
webPreferences.devTools boolean | 是否开启 DevTools. 如果设置为 (false), 则无法使用 (BrowserWindow.webContents.openDevTools ()) 打开 DevTools。 默认值为 (true)。 |
webPreferences.nodeIntegration boolean | 是否启用Node integration. 默认值为 (false). |
webPreferences.nodeIntegrationInWorker boolean | 是否在Web工作器中启用了Node集成. 默认值为 (false). 更多内容参见 多线程 |
webPreferences.nodeIntegrationInSubFrames boolean 实验性 | 是否允许在子页面(iframe)或子窗口(child window)中集成Node.js; 预先加载的脚本会被注入到每一个iframe,你可以用 (process.isMainFrame) 来判断当前是否处于主框架(main frame)中。 |
webPreferences.preload string | 在页面运行其他脚本之前预先加载指定的脚本 无论页面是否集成Node, 此脚本都可以访问所有Node API 脚本路径为文件的绝对路径。 当 node integration 关闭时, 预加载的脚本将从全局范围重新引入node的全局引用标志参考示例 |
webPreferences.sandbox boolean | 如果设置该参数, 沙箱的渲染器将与窗口关联, 使它与Chromium OS-level 的沙箱兼容, 并禁用 Node. js 引擎。 它与 (nodeIntegration) 的选项不同,且预加载脚本的 API 也有限制。更多详情 |
webPreferences.session | Session 设置页面的 session 而不是直接忽略 Session 对象, 也可用 (partition) 选项来代替,它接受一个 partition 字符串. 同时设置了_(session)_ 和 _(partition)_时, (session) 的优先级更高. 默认使用默认的 session. |
webPreferences.partition | string (optional) - 通过 session 的 partition 字符串来设置界面session. 如果 (partition) 以 (persist:)开头, 该页面将使用持续的 session,并在所有页面生效,且使用同一个(partition). 如果没有 (persist:) 前缀, 页面将使用 in-memory session. 通过分配相同的 (partition), 多个页可以共享同一会话。 默认使用默认的 session. |
webPreferences.zoomFactor number | 页面的默认缩放系数, (3.0) 表示 (300%)。 默认值为 (1.0). |
webPreferences.javascript boolean | 是否启用 JavaScript 支持。 默认值为 (true)。 |
webPreferences.webSecurity boolean | 当设置为 (false), 它将禁用同源策略 (通常用来测试网站), 如果此选项不是由开发者设置的,还会把 _(allowRunningInsecureContent)_设置为 (true). 默认值为 (true) |
webPreferences.allowRunningInsecureContent boolean | 允许一个 https 页面运行来自http url的JavaScript, CSS 或 plugins。 默认值为 (false) |
webPreferences.images boolean | 允许加载图片。 默认值为 (true) |
webPreferences.imageAnimationPolicy string | 指定如何运行图像动画 (比如: GIF等). 可以是 (animate), (animateOnce) 或 (noAnimation)。默认值为 (animate) |
webPreferences.textAreasAreResizable boolean | 允许调整 TextArea 元素大小。 默认值为 (true) |
webPreferences.webgl boolean | 启用 WebGL 支持。 默认值为 (true) |
webPreferences.plugins boolean | 是否应该启用插件。 默认值为 (false) |
webPreferences.experimentalFeatures boolean | 启用 Chromium 的实验功能。 默认值为 (false) |
webPreferences.scrollBounce boolean (mac) | 启用滚动回弹(橡皮筋)效果。 默认值为 (false) |
webPreferences.enableBlinkFeaturesstring | 以 (逗号) 分隔的需要启用的特性列表,譬如 (CSSVariables,KeyboardEventKey) 在 RuntimeEnabledFeatures.json5 文件中查看被支持的所有特性 |
webPreferences.disableBlinkFeatures string | 以 (,) 分隔的禁用特性列表, 如 (CSSVariables,KeyboardEventKey) 在 RuntimeEnabledFeatures.json5 文件中查看被支持的所有特性 |
defaultFontFamily Object | 为 font-family 设置默认字体 |
defaultFontFamily.standard string | 默认值为 (Times New Roman) |
defaultFontFamily.serif string | 默认值为 (Times New Roman) |
defaultFontFamily.sansSerif string | 默认值为 (Arial) |
defaultFontFamily.monospace string | 默认值为 (Courier New) |
defaultFontFamily.cursive string | 默认值为 (Script) |
defaultFontFamily.fantasy string | 默认值为 (Impact) |
defaultFontSize Integer | 默认值为 (16) |
defaultMonospaceFontSize Integer | 默认值为 (13) |
minimumFontSize Integer | 默认值为 (0) |
defaultEncoding string | 默认值为 (ISO-8859-1) |
backgroundThrottling boolean | 是否在页面成为背景时限制动画和计时器。 这也会影响到 Visibility API。默认值为 (true) |
offscreen boolean | 是否绘制和渲染可视区域外的窗口。默认值为 (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[] | strin一个将被附加到当前应用程序的渲染器进程中_(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 代码缓存策略。 可接受的值为: |
v8CacheOptions.none | 禁用代码缓存 |
v8CacheOptions.code | 基于启发式代码缓存 |
v8CacheOptions.bypassHeatCheck | 绕过启发式代码缓存,但使用懒编译。 |
v8CacheOptions.bypassHeatCheckAndEagerCompile | 与上面相同,除了编译是及时的。 默认策略是 (code) |
enablePreferredSizeMode boolean | 是否启用首选大小模式。 首选大小是包含文档布局所需的最小大小--无需滚动。 启用该属性将导致在首选大小发生变化时,在 (WebContents) 上触发 (preferred-size-changed) 事件。默认值为 (false) |
titleBarOverlay Object/Boolean | 当在 macOS 使用无框窗口结合 (win.setWindowButtonVisibility(true)) 或使用 (titleBarStyle) 以便标准窗口控制 (在 macOS为 "traffic lights") 可见,此属性将启用 Window Controls Overlay JavaScript APIs 和 CSS Environment Variables。指定 (true) 将导致覆盖默认系统颜色。 默认值为 (false) |
color String (win) | 启用窗口控制时覆盖面的 CSS 颜色 默认是系统颜色 |
symbolColor String (win) | 启用时窗口控制中符号的 CSS 颜色 默认是系统颜色 |
height Integer (win/mac) | 标题栏和 Window Controls Overlay,以像素为单位。 默认值为系统高度 |