ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## electron https://www.electronjs.org/docs ``` electron: { clipboard, nativeImage, shell, app, autoUpdater, BrowserView, BrowserWindow, contentTracing, crashReporter, dialog, globalShortcut, ipcMain, inAppPurchase, Menu, MenuItem, net, netLog, Notification, powerMonitor, powerSaveBlocker, protocol, screen, session, systemPreferences, TopLevelWindow, TouchBar, Tray, View, webContents, WebContentsView } ``` ## clipboard | 方法 | 解释 | | --- | --- | | readText() | 读取剪贴板中的纯文本内容 | | writeText(text) | 作为纯文本写入剪贴板 | | readHTML() | 剪贴板中的HTML内容 | | writeHTML(text) | 写入剪贴板 | | readImage() | 剪贴板中的图像内容 | | writeImage(image) | 写入剪贴板 | | readRTF() | 剪贴板中的RTF内容 | | writeRTF(text) | 向剪贴板中写入 RTF 格式的`text` | | readBookmark() | 返回一个对象, 其中包含表示剪贴板中书签`title`和`url` | | writeBookmark(text) | 将书签的`title`和`url`写入剪贴板 | | readFindText() | 查找粘贴板上的文本 | | writeFindText(text) | 纯文本形式的内容写入到find粘贴板 | | clear() | 清除剪贴板内容 | | availableFormats() | 剪贴板`type`所支持的格式的数组 | | has(format) | 剪贴板是否支持指定的`format` | | read(format) | 从剪贴板中读取`format`类型的内容 | | readBuffer(format) | 从剪贴板中读取`format`类型的内容 | | writeBuffer(format,buffer) | 将`buffer`作为`format`类型写入剪贴板 | | write(data) | 将`data`写入剪贴板 | ## shell | 方法 | 解释 | | --- | --- | | showItemInFolder(fullPath) | 在文件管理器中显示给定的文件。如果可能,请选择文件 | | openPath(path) | 返回`Promise<String>`\-如果发生故障,则使用包含与故障相对应的错误消息的字符串进行解析,否则为""。以桌面的默认方式打开给定的文件 | | openExternal(url) | | | moveItemToTrash(fullPath) | 返回`Boolean`\-项目是否已成功移至垃圾箱或以其他方式删除。将给定的文件移动到垃圾箱,并返回操作的布尔状态 | | beep() | 播放哔哔的声音 | | writeShortcutLink(shortcutPath) | 返回`Boolean`- 快捷方式是否被成功创建。`shortcutPath`位置创建或更新一个快捷连接 | | readShortcutLink(shortcutPath) | 返回[`ShortcutDetails`](https://www.electronjs.org/docs/api/structures/shortcut-details)解析`shortcutPath`中的快捷链接。发生任何错误时将引发异常 | ## autoUpdater ### 事件 | 触发事件 | 解释 | | --- | --- | | error | 当更新发生错误的时候触发 | | checking-for-update | 当开始检查更新的时候触发 | | update-available | 有可用更新时发出。该更新将自动下载 | | update-not-available | 当没有可用更新的时候触发 | | update-downloaded | 在更新下载完成的时候触发 | | Event: 'before-quit-for-update' | 此事件是在用户调用`quitAndInstall()`之后发出的 | ### 方法 | 方法 | 解释 | | --- | --- | | setFeedURL | 设置检查更新的`url`,并且初始化自动更新 | | getFeedURL | 返回`String`\- 获取当前更新的 Feed 链接. | | checkForUpdates | 询问服务器是否有更新。您必须先调用`setFeedURL`才能使用此API | | quitAndInstall | 下载更新后,重新启动应用程序并安装更新。仅应在`update-downloaded`发出后调用它 | ### BrowserWindow * `options`Object (可选) | 参数 | 类型 | 解释 | | --- | --- | --- | | `width` | Integer (可选) | 窗口的宽度(以像素为宽度)。 默认值为`800` | | `height` | Integer (可选) | 窗口的高度(以像素为单位)。 默认值为`600` | | `x` | Interger (可选) | (**必选**如果使用了y) 窗口相对于屏幕左侧的偏移量。 默认值为将窗口居中。 | | `y` | Integer (可选) | (**必选**如果使用了x) 窗口相对于屏幕顶端的偏移量。 默认值为将窗口居中。 | | `useContentSize` | Boolean (可选) | `width`和`height`将设置为 web 页面的尺寸(译注: 不包含边框), 这意味着窗口的实际尺寸将包括窗口边框的大小,稍微会大一点。 默认值为`false`. | | `center` | Boolean (可选) | 窗口在屏幕居中. | | '' | Integer(可选)| 窗口的最小宽度。默认为0 默认值为`0` | | `minHeight` | Integer (optional) | 窗口的最小高度. 默认值为`0` | | `maxWidth` | Integer(可选) | 窗口的最大宽度。 默认值不限 | | `maxHeight` | Integer (optional) | 窗口的最大高度. 默认值不限 | | `resizable` | Boolean (optional) | 窗口是否可调整大小. 默认值为`true`。 | | `movable` | Boolean (optional) | 窗口是否可移动。这不是在Linux上实现的. 默认值为`true`。 | | `minimizable` | Boolean (optional) | 窗口是否可最小化。这不是在Linux上实现的. 默认值为`true`。 | | `maximizable` | Boolean (optional) | 窗口是否可最大化。这不是在Linux上实现的. 默认值为`true`。 | | `closable` | Boolean(可选)-窗口是否可关闭。这不是在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 (optional) | 在macOS上使用pre-Lion全屏. 默认值为`false`. | | `skipTaskbar` | Boolean(可选) | 是否在任务栏中显示窗口。默认值为`false`。 | | `kiosk` | Boolean (optional) | 窗口是否处于kiosk模式. 默认值为`false`. | | `title` | String(可选) | 默认窗口标题 默认为`"Electron"`。 如果由`loadURL()`加载的HTML文件中含有标签`<title>`,此属性将被忽略。 | | `icon`([NativeImage](https://www.electronjs.org/docs/api/native-image) | String) (可选) | 窗口的图标. 在 Windows 上推荐使用`ICO`图标来获得最佳的视觉效果, 默认使用可执行文件的图标. | | `show` | Boolean(可选)| 创建窗口时是否应显示窗口。默认值`true`。 | | `paintWhenInitiallyHidden` | Boolean(可选) | 当`show`为`false`并且渲染器刚刚被创建时,它是否应激活。 为了让`document.visibilityState`在`show: false`的情况下第一次加载时正确地工作,你应该把这个设置成`false`. 设置为`false`将会导致`ready-to-show`事件不触发。 默认值为`true`。 | | `frame` | Boolean (optional) | Specify`false`to create a[Frameless Window](https://www.electronjs.org/docs/api/frameless-window). 默认值为`true`。 | | `parent`BrowserWindow(可选) | 指定父窗口。默认值为`null`。 | | `modal` | Boolean(可选) | 是否为模态窗口。仅当该窗口是子窗口时才有效。默认值`false`。 | | `acceptFirstMouse` | Boolean(可选)| Web视图是否接受单个鼠标按下事件同时激活窗口。默认值为`false`。 | | `disableAutoHideCursor` | Boolean (optional) | Whether to hide cursor when typing. 默认值为`false`. | | `autoHideMenuBar` | Boolean (optional) | Auto hide the menu bar unless the`Alt`key is pressed. 默认值为`false`. | | `enableLargerThanScreen` | Boolean (可选) | 是否允许改变窗口的大小使之大于屏幕的尺寸. 仅适用于 macOS,因为其它操作系统默认允许 大于屏幕的窗口。 默认值为`false`. | | `backgroundColor`String(可选) | 窗口的背景颜色为十六进制值,例如`#66CD00`,`#FFF`,`#80FFFFFF`(设置`transparent`为`true`方可支持alpha属性,格式为#AARRGGBB)。 默认值为`#FFF`(白色)。| | `hasShadow` | Boolean (可选) | 窗口是否有阴影. 默认值为`true`。 | | `opacity`Number (可选) | 设置窗口初始的不透明度, 介于 0.0 (完全透明) 和 1.0 (完全不透明) 之间。 目前仅支持Windows 和 macos | | `darkTheme` | Boolean (optional) | 强制窗口使用深色主题,只在部分GTK+3桌面环境下有效。 默认值为`false`. | | `transparent` | Boolean(可选) | 使窗口[透明](https://www.electronjs.org/docs/api/frameless-window#transparent-window)。默认值`false`。在Windows上,除非窗口是无框架的,否则它不起作用。 | `type`String (可选) | 窗口的类型, 默认为普通窗口. 更多信息见下文 | | `visualEffectState` | 字符串(可选) | 指定材质外观应如何反映macOS上的窗口活动状态。必须与该`vibrancy`属性一起使用。可能的值有 | * `followWindow`\-当窗口处于活动状态时,背景应该自动显示为活动,而当窗口不活动时,背景将不活动。这是默认值。 * `active`\-背景应始终显示为活动状态。 * `inactive`\-背景应始终显示为非活动状态。 | 参数 | 类型 | 解释 | | --- | --- | --- | | `titleBarStyle` | String (optional) | The style of window title bar. Default is`default`. 可能的值有 | * `default`\- 标准灰色不透明的Mac标题栏 * `hidden`\- 隐藏标题栏, 内容充满整个窗口, 但它依然在左上角, 仍然受标准窗口控制. * `hiddenInset`\- 隐藏标题栏, 显示小的控制按钮在窗口边缘 * `customButtonsOnHover`Boolean (可选) - 在macOS的无框窗口上绘制自定义的关闭与最小化按钮. 除非鼠标悬停到窗口的左上角, 否则这些按钮不会显示出来. 这些自定义的按钮能防止, 与发生于标准的窗口工具栏按钮处的鼠标事件相关的问题.**注意:**此选项目前是实验性的。 | 参数 | 类型 | 解释 | | --- | --- | --- | | `trafficLightPosition` | [Point](https://www.electronjs.org/docs/api/structures/point)(可选) | 为交通信号灯按钮设置自定义位置。只能搭配使用`titleBarStyle`设置为`hidden` | | `fullscreenWindowTitle` | Boolean(可选) | 在macOS上以全屏模式在标题栏中显示所有`titleBarStyle`选项的标题。默认值`false`。 | | `thickFrame` | Boolean(可选) | 对 Windows 上的无框窗口使用`WS_THICKFRAME`样式,会增加标准窗口框架。 设置为`false`时将移除窗口的阴影和动画. 默认值为`true`。 | | `vibrancy` | String(任选) | 窗口是否使用vibrancy动态效果,仅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`。请注意,`frame: false`结合使用鲜艳度值还要求您使用非默认值`titleBarStyle`。还要注意的是`appearance-based`,`light`,`dark`,`medium-light`,和`ultra-dark`已被弃用,并将在MacOS上的一个即将到来的版本中删除。 | | `zoomToPageWidth` | Boolean (optional) | Controls the behavior on macOS when option-clicking the green stoplight button on the toolbar or by clicking the Window > Zoom menu item. 如果为`true`, 窗口将放大到网页的本身宽度,`false`将使其缩放到屏幕的宽度。 这也会影响直接调用`maximize()`时的行为。 默认值为`false`. | | `tabbingIdentifier` | String (可选) | 选项组卡的名称,在macOS 10.12+上可使窗口在原生选项卡中打开. 具有相同标识符的窗口将被组合在一起。 这还会在窗口的标签栏中添加一个原生的新选项卡按钮, 并允许`app`和窗口接收`new-window-for-tab`事件。 | | `webPreferences` | Object(可选)| 网页功能的设置。 | > `trafficLightPosition`[点](https://www.electronjs.org/docs/api/structures/point)(可选)-为交通信号灯按钮设置自定义位置。只能搭配使用`titleBarStyle`设置为`hidden` > `fullscreenWindowTitle`布尔值(可选)-在macOS上以全屏模式在标题栏中显示所有`titleBarStyle`选项的标题。默认值`false`。 > `thickFrame`Boolean(可选)-对 Windows 上的无框窗口使用`WS_THICKFRAME`样式,会增加标准窗口框架。 设置为`false`时将移除窗口的阴影和动画. 默认值为`true`。 > `vibrancy`String(任选)-窗口是否使用vibrancy动态效果,仅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`。请注意,`frame: false`结合使用鲜艳度值还要求您使用非默认值`titleBarStyle`。还要注意的是`appearance-based`,`light`,`dark`,`medium-light`,和`ultra-dark`已被弃用,并将在MacOS上的一个即将到来的版本中删除。 > `zoomToPageWidth`Boolean (optional) - Controls the behavior on macOS when option-clicking the green stoplight button on the toolbar or by clicking the Window > Zoom menu item. 如果为`true`, 窗口将放大到网页的本身宽度,`false`将使其缩放到屏幕的宽度。 这也会影响直接调用`maximize()`时的行为。 默认值为`false`. > `tabbingIdentifier`String (可选) - 选项组卡的名称,在macOS 10.12+上可使窗口在原生选项卡中打开. 具有相同标识符的窗口将被组合在一起。 这还会在窗口的标签栏中添加一个原生的新选项卡按钮, 并允许`app`和窗口接收`new-window-for-tab`事件。 > `webPreferences`对象(可选)-网页功能的设置。 > * `devTools`Boolean (可选) - 是否开启 DevTools. 如果设置为`false`, 则无法使用`BrowserWindow.webContents.openDevTools ()`打开 DevTools。 默认值为`true`。 > * `nodeIntegration`Boolean (optional) - Whether node integration is enabled. 默认值为`false`. > * `nodeIntegrationInWorker`Boolean (可选) - 是否在Web工作器中启用了Node集成. 默认值为`false`. 更多内容参见[多线程](https://www.electronjs.org/docs/tutorial/multithreading). > * `nodeIntegrationInSubFrames`Boolean (可选项)(实验性),是否允许在子页面(iframe)或子窗口(child window)中集成Node.js; 预先加载的脚本会被注入到每一个iframe,你可以用`process.isMainFrame`来判断当前是否处于主框架(main frame)中。 > * `preload`String (可选) -在页面运行其他脚本之前预先加载指定的脚本 无论页面是否集成Node, 此脚本都可以访问所有Node API 脚本路径为文件的绝对路径。 当 node integration 关闭时, 预加载的脚本将从全局范围重新引入node的全局引用标志[参考示例](https://www.electronjs.org/docs/api/process#event-loaded). > * `sandbox`Boolean (可选)-如果设置该参数, 沙箱的渲染器将与窗口关联, 使它与Chromium OS-level 的沙箱兼容, 并禁用 Node. js 引擎。 它与`nodeIntegration`的选项不同,且预加载脚本的 API 也有限制.[更多详情](https://www.electronjs.org/docs/api/sandbox-option). > * `enableRemoteModule`Boolean (optional) - Whether to enable the[`remote`](https://www.electronjs.org/docs/api/remote)module. 默认值为`false`. > * `session`[Session](https://www.electronjs.org/docs/api/session#class-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. > * `affinity`String (可选) - 当指定,具有相同`affinity`的 web页面将在相同的渲染进程运行。 需要注意的是,由于渲染过程中会有代码重用,如`webPreferences`的`preload`,`sandbox`和`nodeIntegration`等选项会在不同页面之间共用,即使你已经在不同页面中为同一选项设置过不同的值,它们仍会被共用。 因此,建议为`affinity`相同的页面,使用相同的`webPreferences`*Deprecated* > * `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`, 它将禁用同源策略 (通常用来测试网站), 如果此选项不是由开发者设置的,还会把`allowRunningInsecureContent`设置为`true`. 默认值为`true`。 > * `allowRunningInsecureContent`布尔值(可选)-允许https页面运行来自http URL的JavaScript,CSS或插件。默认值`false`。 > * `images`Boolean (optional) - Enables image support. 默认值为`true`。 > * `textAreasAreResizable`布尔值(可选)-使TextArea元素可调整大小。默认值为`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) - Enables scroll bounce (rubber banding) effect on macOS. 默认值为`false`. > * `enableBlinkFeatures`String(可选) - 以`逗号`分隔的需要启用的特性列表,譬如`CSSVariables,KeyboardEventKey`在[RuntimeEnabledFeatures.json5](https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/runtime_enabled_features.json5?l=70)文件中查看被支持的所有特性. > * `disableBlinkFeatures`String (可选) - 以`,`分隔的禁用特性列表, 如`CSSVariables,KeyboardEventKey`. 在[RuntimeEnabledFeatures.json5](https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/runtime_enabled_features.json5?l=70)文件中查看被支持的所有特性. > * `defaultFontFamily`对象(可选)-设置字体系列的默认字体。 > > 1. `standard`String (可选) - 默认值为`Times New Roman`. > > 2. `serif`String (可选) - 默认值为`Times New Roman`. > > 3. `sansSerif`String (可选) - 默认值为`Arial`. > > 4. `monospace`String (可选) - 默认值为`Courier New`. > > 5. `cursive`String (可选) - 默认值为`Script`. > > 6. `fantasy`String (可选) - 默认值为`Impact`. > * > * `defaultFontSize`Integer (可选) - 默认值为`16`. > * `defaultMonospaceFontSize`Integer (可选) - 默认值为`13`. > * `minimumFontSize`Integer (可选) - 默认值为`0`. > * `defaultEncoding`String (可选) - 默认值为`ISO-8859-1`. > * `backgroundThrottling`Boolean (可选)-是否在页面成为背景时限制动画和计时器。 这也会影响到[Page Visibility API](https://www.electronjs.org/docs/api/browser-window#page-visibility). 默认值为`true`。 > * `offscreen`Boolean (optional) - 是否绘制和渲染可视区域外的窗口. 默认值为`false`. 更多详情, 请参见[offscreen rendering tutorial](https://www.electronjs.org/docs/tutorial/offscreen-rendering)。 > * `contextIsolation`Boolean (可选) - 是否在独立 JavaScript 环境中运行 Electron API和指定的`preload`脚本. 默认值为`false`.`preload`脚本的运行环境仍然可以访问`document`和`window`全局变量,但它将使用自己内置的函数 (如`Array`,`Object`,`JSON`等),并且将被加载的页面与对全局环境所做的任何更改隔离开来. Electron API 仅在`preload`脚本中有效,而不是加载的页面。 在加载可能不受信任的远程内容时, 应使用此选项, 以确保加载的内容不能篡改`preload`脚本和使用的 Electron APIs。 此选项使用[Chrome Content Scripts](https://developer.chrome.com/extensions/content_scripts#execution-environment)使用的相同技术。 通过在控制台选项卡顶部的组合框中选择 "Electron Isolated Context" 条目, 可以在开发工具中访问此上下文。 > * `worldSafeExecuteJavaScript`布尔值(可选)-如果为true,`webFrame.executeJavaScript`则从中返回的值将被清除,以确保使用时JS值不会在世界之间不安全地交叉`contextIsolation`。默认值为`false`。在Electron 12中,默认值将更改为`true`。*不推荐使用* > * `nativeWindowOpen`Boolean (可选) - 是否使用原生的`window.open()`. 默认值为`false`. Child windows will always have node integration disabled unless`nodeIntegrationInSubFrames`is true.**注意:**此选项目前是实验性的。 > * `webviewTag`Boolean (可选) - 是否启用[`<webview>`tag](https://www.electronjs.org/docs/api/webview-tag)标签. 默认值为`false`.**注意:**为`< webview>`配置的`preload`脚本在执行时将启用节点集成, 因此应确保远程或不受信任的内容无法创建恶意的`preload`脚本 。 可以使用[webContents](https://www.electronjs.org/docs/api/web-contents)上的`will-attach-webview`事件对`preload`脚本进行剥离, 并验证或更改`<webview>`的初始设置。 > * `additionalArguments`String\[\] (可选) - 一系列将会被附加至此app的渲染进程的`process.argv`的字符串. 对于将少量数据向下传至渲染进程的预加载脚本而言是十分实用的. > * `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`布尔值(可选)-将文件或链接拖放到页面上是否会导致导航。默认值`false`。 > * `autoplayPolicy`字符串(可选) -自动播放策略应用于内容的窗口,可以`no-user-gesture-required`,`user-gesture-required`,`document-user-activation-required`。默认为`no-user-gesture-required`。 > * `disableHtmlFullscreenWindowResize`布尔值(可选)-输入HTML全屏时是否阻止窗口调整大小。默认值为`false`。 > * `accessibleTitle`字符串(可选)-仅提供给辅助功能工具(如屏幕阅读器)的备用标题字符串。该字符串对用户不直接可见。 > * `spellcheck`Boolean (optional) - Whether to enable the builtin spellchecker. 默认值为`true`。 > * `enableWebSQL`Boolean (optional) - Whether to enable the[WebSQL api](https://www.w3.org/TR/webdatabase/). 默认值为`true`。 > * `v8CacheOptions`字符串(可选)-强制使用眨眼使用的v8代码缓存策略。接受的值是 > > 1. `none`\-禁用代码缓存 > > 2. `code`\-基于启发式的代码缓存 > > 3. `bypassHeatCheck`\-绕过代码缓存试探法,但具有延迟编译 > > 4. `bypassHeatCheckAndEagerCompile`\-与上述相同,只是急于进行编译。默认策略为`code`。 *~~当使用`minWidth`/`maxWidth`/`minHeight`/`maxHeight`设置最小或最大窗口大小时, 它只限制用户。 它不会阻止您将不符合大小限制的值传递给`setBounds`/`setSize`或`BrowserWindow`的构造函数。~~* **`type`选项的候选值和行为与平台相关。 可能的值有** > 在 Linux 上, 可能的类型有`desktop`、`dock`、`toolbar`、`splash`、`notification`。 > 在 macOS 上,可能的类型是`desktop`,`textured`。 > * `textured`类型增加金属色泽的外观 (`NSTexturedBackgroundWindowMask`). > * `desktop`类型将窗口置于桌面背景级别 (`kCGDesktopWindowLevel - 1`). 注意,桌面窗口不会接收焦点、键盘或鼠标事件,但您可以使用 globalShortcut 接收快捷键的消息 > > 在 Windows 上, 可能的类型为`toolbar`. ### contentTracing ``` const { app, contentTracing } = require('electron') app.whenReady().then(() => { (async () => { await contentTracing.startRecording({ included_categories: ['*'] }) console.log('Tracing started') await new Promise(resolve => setTimeout(resolve, 5000)) const path = await contentTracing.stopRecording() console.log('Tracing data recorded to ' + path) })() }) ``` | 方法 | 解释 | | --- | --- | | getCategories | 所有子进程都确认`getCategories`请求后,使用一组类别组进行解析 | | startRecording | 所有子进程都确认`startRecording`请求后解决。 | | stopRecording | 在所有子进程都确认`stopRecording`请求后,使用包含所跟踪数据的文件的路径进行解析 | | getTraceBufferUsage | 使用包含`value`和`percentage`的跟踪缓冲区最大使用量的对象进行解析 |