Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面应用程序。它基于 Node.js 和 Chromium,被 Atom 编辑器和许多其他应用程序使用。Electron 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用程序。
Electron v38.0.0 现已发布,一些更新内容如下:
Stack Upgrades
- Chromium
140.0.7339.41
- Node
22.18.0
- V8
14.0
特性
新增内容
- 添加
before-mouse-event以允许拦截和阻止 WebContents 中的鼠标事件。#47280
- 为 macOS 的
process.getSystemMemoryInfo()方法新增fileBacked和purgeable字段。#48146
- 为 window.open添加了
innerWidth和innerHeight选项。#46749
- 添加
tray.{get|set}AutosaveName以使 macOS 托盘图标能够在启动过程中保持位置不变。#48077
- 新增
webFrameMain.fromFrameToken(processId, frameToken),用于从 rame token 获取WebFrameMain实例。 #47942
- 在 macOS >= 14.4 版本上添加了菜单的子标签功能。#46887
- 增加了对 Windows 和 macOS 的
app.getRecentDocuments()支持 。 #47924
- 增加了对
--no-experimental-global-navigator标志的支持。#47370
- 增加了对
HIDDevice.collections的支持。#47391
- 在 Linux X11 上新增
screen.dipToScreenPoint(point)和screen.screenToDipPoint(point)支持。#46211
- 增加了自定义系统强调色及活动窗口边框高亮的支持。#47285
- 增加了对 macOS 菜单项角色
palette和header的支持。#45538
- 增加了对节点选项
--experimental-network-inspection的支持。#46690
- 为 net.request() 添加了 priority 和 priorityIncremental 选项。#42628
- 新增在 Windows 系统中通过
{get|set}AccentColor在窗口初始化后更改窗口强调色的功能。#47939
改进
- 暴露
win.isContentProtected()接口,允许开发者检查窗口保护状态。#47242
- 内部切换为使用
DIR_ASSETS替代DIR_MODULE/DIR_EXE定位资源,并新增可通过app.getPath查询的 “assets” 键值。#47950
修复
- 修复了
dialog.showMessageDialog传递时窗口错误地居中显示在监视器上而不是父窗口上的问题。 #48215
- 修复了 MacOS 用户无法与通过 loadURL 加载的网页进行交互的问题。#47575
- 修复损坏的
chrome://accessibility页面。#47497
更多详情可查看:https://github.com/electron/electron/releases/tag/v38.0.0