CYM
electron

electron

生命周期事件

事件名称 描述
ready 应用初始化完成时触发
window-all-closed 所有窗口都被关闭时触发
before-quit 在应用退出之前触发
will-quit 在应用退出时触发
quit 应用退出时触发
closed 当窗口关闭时触发,此时应删除窗口引用
dom-ready 一个窗口中的文档加载完成时触发
did-finish-load 导航完成时触发

窗口尺寸和外观属性

以下是根据 Electron 官方文档和搜索结果整理的 窗口尺寸和外观属性 的完整列表,包括当前可用的属性和已被废弃的属性,并标注了废弃版本和替代方案:

窗口尺寸和外观属性

属性名称 描述 状态 备注
width 窗口的宽度(以像素为单位)。默认值为 800 当前可用 -
height 窗口的高度(以像素为单位)。默认值为 600 当前可用 -
x 窗口相对于屏幕左侧的偏移量。默认值为窗口居中。 当前可用 -
y 窗口相对于屏幕顶端的偏移量。默认值为窗口居中。 当前可用 -
useContentSize 如果设置为 truewidthheight 将设置为网页内容的尺寸(不包含边框)。默认值为 false 当前可用 -
center 如果设置为 true,窗口将在屏幕上居中。默认值为 false 当前可用 -
minWidth 窗口的最小宽度。默认值为 0 当前可用 -
minHeight 窗口的最小高度。默认值为 0 当前可用 -
maxWidth 窗口的最大宽度。默认值为无限制。 当前可用 -
maxHeight 窗口的最大高度。默认值为无限制。 当前可用 -
resizable 是否允许用户手动调整窗口大小。默认值为 true 当前可用 -
movable 是否允许用户移动窗口。默认值为 true(Windows 和 macOS)。 当前可用 -
minimizable 是否允许窗口最小化。默认值为 true(Windows 和 macOS)。 当前可用 -
maximizable 是否允许窗口最大化。默认值为 true(Windows 和 macOS)。 当前可用 -
closable 是否允许关闭窗口。默认值为 true(Windows 和 macOS)。 当前可用 -
focusable 是否允许窗口获取焦点。默认值为 true 当前可用 -
frame 是否显示窗口边框。如果设置为 false,窗口将无边框。 当前可用 -
transparent 是否使窗口背景透明。默认值为 false 当前可用 -
autoHideMenuBar 是否自动隐藏菜单栏。如果设置为 true,菜单栏仅在用户按下 Alt 键时显示。 当前可用 -
icon 窗口图标路径。 当前可用 -
title 窗口标题。 当前可用 -
show 创建窗口后是否立即显示。默认值为 true 当前可用 -
alwaysOnTop 是否始终置顶窗口。默认值为 false 当前可用 -
skipTaskbar 是否在任务栏中隐藏窗口。默认值为 false 当前可用 -
kiosk 是否启用无边框全屏模式。默认值为 false 当前可用 -

已废弃的属性

属性名称 替代方案 被废弃版本
simpleFullscreen 使用 kiosk 替代 Electron 13+
thickFrame 使用 frame 替代 Electron 13+
darkTheme 使用 nativeTheme 模块替代 Electron 13+

这些属性在某些版本中已被废弃,建议使用替代方案以确保代码的兼容性和安全性。

希望这些信息对你有帮助!

窗口的 webPreferences属性

以下是 Electron 中 webPreferences 属性的完整列表,包括当前可用的属性和已被废弃的属性,并标记了废弃版本和替代方案:

webPreferences 属性列表

属性名称 描述 状态 备注
nodeIntegration 是否启用 Node.js 集成。允许在渲染进程中直接使用 Node.js API。 已废弃(Electron 12+) 建议启用 contextIsolation 并使用 preload 脚本。
contextIsolation 是否启用上下文隔离,防止安全问题。 当前可用 默认值为 true(Electron 12+)。
enableRemoteModule 是否启用 remote 模块。 已废弃(Electron 14+) 建议使用 @electron/remote 模块。
webSecurity 是否启用跨域限制。 当前可用 默认值为 true
allowRunningInsecureContent 是否允许运行不安全的内容。 当前可用 默认值为 false
allowDisplayingInsecureContent 是否允许显示不安全的内容。 当前可用 默认值为 false
allowWebview 是否允许使用 <webview> 标签。 当前可用 默认值为 true
sandbox 是否启用沙盒模式。 当前可用 增强安全性,推荐使用。
preload 预加载脚本路径。 当前可用 用于在渲染进程中运行 Node.js 代码。
blinkFeatures 启用或禁用 Blink 的特定功能。 已废弃(Electron 3+) 替代方案为 enableBlinkFeatures
disableBlinkFeatures 禁用 Blink 的特定功能。 已废弃(Electron 3+) 替代方案为 enableBlinkFeatures
javascript 是否启用 JavaScript。 当前可用 默认值为 true
images 是否启用图片加载。 当前可用 默认值为 true
webgl 是否启用 WebGL。 当前可用 默认值为 true
plugins 是否启用插件。 当前可用 默认值为 false
experimentalFeatures 是否启用实验性功能。 当前可用 默认值为 false
experimentalCanvasFeatures 是否启用实验性 Canvas 功能。 当前可用 默认值为 false
experimentalHardwareAcceleration 是否启用实验性硬件加速。 当前可用 默认值为 false
scrollBounce 是否启用滚动回弹效果。 当前可用 默认值为 false
textAreasAreResizable 是否允许调整文本区域大小。 当前可用 默认值为 true
webAudio 是否启用 Web Audio。 当前可用 默认值为 true
webSecurity 是否启用 Web 安全。 当前可用 默认值为 true
allowDisplayingInsecureContent 是否允许显示不安全的内容。 当前可用 默认值为 false
allowRunningInsecureContent 是否允许运行不安全的内容。 当前可用 默认值为 false
safeDialogs 是否启用安全对话框。 当前可用 默认值为 false
safeDialogsMessage 安全对话框的自定义消息。 当前可用 默认值为空字符串。
spellcheck 是否启用拼写检查。 当前可用 默认值为 false
defaultFontFamily 默认字体族。 当前可用 默认值为空对象。
defaultFontSize 默认字体大小。 当前可用 默认值为 12
defaultMonospaceFontSize 默认等宽字体大小。 当前可用 默认值为 13
minimumFontSize 最小字体大小。 当前可用 默认值为 0
defaultEncoding 默认编码。 当前可用 默认值为 'utf-8'
partition 会话分区。 当前可用 默认值为 'default'
session 自定义会话。 当前可用 默认值为 null
zoomFactor 缩放因子。 当前可用 默认值为 1.0
offscreen 是否启用离屏渲染。 当前可用 默认值为 false
backgroundThrottling 是否启用背景节流。 当前可用 默认值为 true
nativeWindowOpen 是否启用原生窗口打开。 当前可用 默认值为 false
webviewTag 是否启用 <webview> 标签。 当前可用 默认值为 true
httpReferrer HTTP 引用。 当前可用 默认值为空字符串。
userAgent 自定义用户代理。 当前可用 默认值为空字符串。
partition 会话分区。 当前可用 默认值为 'default'
session 自定义会话。 当前可用 默认值为 null
zoomFactor 缩放因子。 当前可用 默认值为 1.0
offscreen 是否启用离屏渲染。 当前可用 默认值为 false
backgroundThrottling 是否启用背景节流。 当前可用 默认值为 true
nativeWindowOpen 是否启用原生窗口打开。 当前可用 默认值为 false
webviewTag 是否启用 <webview> 标签。 当前可用 默认值为 true
httpReferrer HTTP 引用。 当前可用 默认值为空字符串。
userAgent 自定义用户代理。 当前可用 默认值为空字符串。

希望这些信息对你有帮助!

electron导出的属性和方法

很抱歉之前的回答没有完全满足你的需求。为了更全面地整理 Electron 的所有属性和方法,包括已被废弃的内容,我将结合 Electron 官方文档和社区资源,提供一个更完整的列表。

以下是 Electron 的主要模块及其导出的属性和方法,包括当前可用的以及已被废弃的内容,并标注了废弃的版本和替代方案(如果有的话):


Electron 模块及其属性和方法

app 模块

当前可用

属性/方法 描述
app.name 应用的名称
app.getVersion() 获取应用的版本
app.getPath(name) 获取特定路径(如用户数据目录)
app.setPath(name, path) 设置特定路径
app.isPackaged 是否打包为独立应用
app.on('ready', callback) 应用初始化完成时触发
app.on('window-all-closed', callback) 所有窗口关闭时触发
app.on('before-quit', callback) 应用退出前触发
app.on('will-quit', callback) 应用退出时触发
app.quit() 退出应用
app.relaunch() 重启应用

已被废弃

属性/方法 替代方案 被废弃版本
app.getAppMemoryInfo() 使用 app.getAppMetrics() Electron 3.0+

BrowserWindow

当前可用

属性/方法 描述
new BrowserWindow(options) 创建一个新的浏览器窗口
win.show() 显示窗口
win.hide() 隐藏窗口
win.close() 关闭窗口
win.resizeTo(width, height) 调整窗口大小
win.moveTo(x, y) 移动窗口位置
win.isFocused() 检查窗口是否处于焦点状态
win.focus() 将焦点切换到窗口
win.blur() 将焦点从窗口移开
win.reload() 重新加载窗口内容
win.maximize() 最大化窗口
win.unmaximize() 恢复窗口大小
win.minimize() 最小化窗口
win.restore() 恢复窗口状态
win.setFullScreen(flag) 切换全屏模式
win.setAspectRatio(aspectRatio) 设置窗口宽高比
win.setMenu(menu) 设置窗口菜单
win.setProgressBar(progress) 设置窗口进度条
win.setThumbarButtons(buttons) 设置缩略图工具栏按钮
win.setSkipTaskbar(skip) 设置窗口是否在任务栏中显示
win.setAlwaysOnTop(flag) 设置窗口是否始终置顶
win.setKiosk(flag) 设置窗口是否为无边框全屏模式

已被废弃

属性/方法 替代方案 被废弃版本
win.setSheetOffset(offset) 无替代,已完全移除 Electron 12+

ipcMainipcRenderer 模块

当前可用

属性/方法 描述
ipcMain.on(channel, listener) 在主进程中监听 IPC 消息
ipcMain.once(channel, listener) 在主进程中监听一次 IPC 消息
ipcRenderer.send(channel, ...args) 在渲染进程中发送 IPC 消息
ipcRenderer.on(channel, listener) 在渲染进程中监听 IPC 消息
ipcRenderer.once(channel, listener) 在渲染进程中监听一次 IPC 消息

dialog 模块

当前可用

属性/方法 描述
dialog.showOpenDialog(options) 显示打开文件对话框
dialog.showSaveDialog(options) 显示保存文件对话框
dialog.showMessageBox(options) 显示消息框
dialog.showErrorBox(title, content) 显示错误消息框

已被废弃

属性/方法 替代方案 被废弃版本
dialog.showSaveDialogSync() 使用 dialog.showSaveDialog() Electron 17.0+
dialog.showOpenDialogSync() 使用 dialog.showOpenDialog() Electron 17.0+

当前可用

属性/方法 描述
Menu.buildFromTemplate(template) 从模板创建菜单
new Tray(image) 创建系统托盘
tray.setContextMenu(menu) 设置托盘菜单
tray.setToolTip(toolTip) 设置托盘提示

已被废弃

属性/方法 替代方案 被废弃版本
tray.setHighlightMode(flag) 使用 'on''off' 替代布尔值 Electron 3.0+

webContents

当前可用

属性/方法 描述
webContents.loadURL(url) 加载 URL
webContents.goBack() 后退
webContents.goForward() 前进
webContents.reload() 重新加载页面
webContents.openDevTools() 打开开发者工具
webContents.closeDevTools() 关闭开发者工具
webContents.isDevToolsOpened() 检查开发者工具是否打开

已被废弃

属性/方法 替代方案 被废弃版本
webContents.getPrinters() 使用 webContents.getPrintersAsync() Electron 17.0+

shell 模块

当前可用

属性/方法 描述
shell.openExternal(url) 在默认浏览器中打开 URL
shell.showItemInFolder(fullPath) 在文件管理器中显示文件
shell.moveItemToTrash(fullPath) 将文件移动到回收站

clipboard 模块

当前可用

属性/方法 描述
clipboard.readText() 读取剪贴板文本
clipboard.writeText(text) 写入剪贴板文本

已被废弃

属性/方法 替代方案 被废弃版本
clipboard.readRtf() 使用 clipboard.readRTF() Electron 3.0+
clipboard.writeRtf() 使用 clipboard.writeRTF() Electron 3.0+
clipboard.readHtml() 使用 clipboard.readHTML() Electron 3.0+
clipboard.writeHtml() 使用 clipboard.writeHTML() Electron 3.0+

crashReporter 模块

当前可用

属性/方法 描述
crashReporter.start(options) 启动崩溃报告器

已被废弃

属性/方法 替代方案 被废弃版本
crashReporter.getCrashesDirectory() 使用 app.getPath('crashDumps') Electron 10.0+

nativeImage

当前可用

属性/方法 描述
nativeImage.createFromPath(path) 从文件路径创建图像
nativeImage.createFromBuffer(buffer, options) 从缓冲区创建图像

已被废弃

属性/方法 替代方案 被废弃版本
nativeImage.createFromBuffer(buffer, scaleFactor) 使用对象形式的参数 { scaleFactor } Electron 3.0+

screen 模块

当前可用

属性/方法 描述
screen.getPrimaryDisplay() 获取主显示器
screen.getAllDisplays() 获取所有显示器

已被废弃

属性/方法 替代方案 被废弃版本
screen.getMenuBarHeight() 使用 screen.getPrimaryDisplay().workArea Electron 3.0+

session

当前可用

属性/方法 描述
session.defaultSession 默认会话
session.fromPartition(partition) 从分区获取会话
ses.loadExtension(path) 加载扩展

已被废弃

属性/方法 替代方案 被废弃版本
ses.setCertificateVerifyProc((hostname, certificate, callback)) 使用 (request, callback) 形式的参数 Electron 3.0+

Tray

当前可用

属性/方法 描述
new Tray(image) 创建系统托盘
tray.setContextMenu(menu) 设置托盘菜单
tray.setToolTip(toolTip) 设置托盘提示

已被废弃

属性/方法 替代方案 被废弃版本
tray.setHighlightMode(flag) 使用 'on''off' 替代布尔值 Electron 3.0+

desktopCapturer 模块

当前可用

属性/方法 描述
desktopCapturer.getSources(options) 获取桌面捕获源

已被废弃

属性/方法 替代方案 被废弃版本
desktopCapturer.getSources() 使用 IPC 通信从主进程调用 Electron 17.0+

remote 模块

已被废弃

属性/方法 替代方案 被废弃版本
remote 模块 使用 @electron/remote 模块 Electron 14.0+

process 对象

当前可用

属性/方法 描述
process.versions.electron Electron 的版本

已被废弃

属性/方法 替代方案 被废弃版本
process.getProcessMemoryInfo() 无替代 Electron 3.0+

globalShortcut 模块

当前可用

属性/方法 描述
globalShortcut.register.accelerator 注册全局快捷键
globalShortcut.unregister.accelerator 注销全局快捷键

powerMonitor 模块

当前可用

属性/方法 描述
powerMonitor.on('suspend', callback) 监听系统挂起事件
powerMonitor.on('resume', callback) 监听系统恢复事件

powerSaveBlocker 模块

当前可用

属性/方法 描述
powerSaveBlocker.start(type) 阻止系统进入睡眠模式
powerSaveBlocker.stop(id) 停止阻止系统进入睡眠模式

Node.js 模块

当前可用

属性/方法 描述
require('fs') 文件系统模块
require('path') 路径模块

希望这次的回答更全面,能够满足你的需求!如果还有其他问题或需要进一步补充,请随时告诉我。


Author:CYM
Link:https://futao0907.github.io/electron/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可