electron
生命周期事件
事件名称 |
描述 |
ready |
应用初始化完成时触发 |
window-all-closed |
所有窗口都被关闭时触发 |
before-quit |
在应用退出之前触发 |
will-quit |
在应用退出时触发 |
quit |
应用退出时触发 |
closed |
当窗口关闭时触发,此时应删除窗口引用 |
dom-ready |
一个窗口中的文档加载完成时触发 |
did-finish-load |
导航完成时触发 |
窗口尺寸和外观属性
以下是根据 Electron 官方文档和搜索结果整理的 窗口尺寸和外观属性 的完整列表,包括当前可用的属性和已被废弃的属性,并标注了废弃版本和替代方案:
窗口尺寸和外观属性
属性名称 |
描述 |
状态 |
备注 |
width |
窗口的宽度(以像素为单位)。默认值为 800 。 |
当前可用 |
- |
height |
窗口的高度(以像素为单位)。默认值为 600 。 |
当前可用 |
- |
x |
窗口相对于屏幕左侧的偏移量。默认值为窗口居中。 |
当前可用 |
- |
y |
窗口相对于屏幕顶端的偏移量。默认值为窗口居中。 |
当前可用 |
- |
useContentSize |
如果设置为 true ,width 和 height 将设置为网页内容的尺寸(不包含边框)。默认值为 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+ |
ipcMain
和 ipcRenderer
模块
当前可用
属性/方法 |
描述 |
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') |
路径模块 |
希望这次的回答更全面,能够满足你的需求!如果还有其他问题或需要进一步补充,请随时告诉我。