Products
GG网络技术分享 2025-03-18 16:16 0
Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面应用程序。它基于 Node.js 和 Chromium,被 Atom 编辑器和许多其他应用程序使用。Electron 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用程序。
Electronv28.0.0更新内容如下:
BrowserWindow.setTrafficLightPosition()和BrowserWindow.getTrafficLightPosition()方法已被删除。#39479
app.runningUnderRosettaTranslation()方法已被删除。#39956
ipcRenderer.sendTo()方法已被删除。#39087
scroll-touch-{begin,end,edge}事件已被删除。#39814
将backgroundThrottling设置为 false 将禁用BrowserWindow对其显示的所有WebContents的 frames throttling。#38924
Additions
启用 ESM 支持。#37535
有关更多详细信息,参阅ESM 文档。
UtilityProcessAPI 现在支持 ESM entrypoints。#40047
向display对象添加了多个属性,包括detected、maximumCursorSize和nativeOrigin。#40554
添加了对 Linux 上环境变量ELECTRON_OZONE_PLATFORM_HINT的支持。#39792
除了在 Electron 本身中启用 ESM 支持之外,Electron Forge 还支持使用 ESM 来打包、构建和开发 Electron 应用程序。可以在 Forge v7.0.0 或更高版本中找到此支持:https://github.com/electron/forge/releases/tag/v7.0.0
添加了 API 以帮助应用程序知道何时避免半透明背景。#39631
添加了getWebRTCUDPPortRange好setWebRTCUDPPortRangeAPI 来指定 WebRTC 的 UDP 端口范围。#39046
添加keyboardLock到ses.setPermissionRequestHandler(handler)。#40460
为 Windows 添加了mouse-enter和mouse-leaveTray 事件。#40072
为webContents.printToPDF()添加了generateTaggedPDF选项,以便生成带 tag(可访问)的 PDF。#39563
添加了一个tabbingIdentifier属性到BrowserWindow。#39980
向 tray icon 添加了 middle click mouse event。#39926
向display对象添加了多个属性,包括detected、maximumCursorSize和nativeOrigin。#40554
添加了对 Linux 上环境变量ELECTRON_OZONE_PLATFORM_HINT的支持。#39792
添加了对chrome.scripting扩展 API 的支持。#39395
添加了对更多扩展清单键的支持,包括host_permissions、author和short_name。#39599
添加了使用webContents.downloadURL()发送 HTTPheaders的功能。#39455
修改systemPreferences.getColor(name)返回 RGBA 十六进制值 (#RRGGBBAA) 而非 plain RGB (#RRGGBB) 值。#38960
在 Linux 上遵循 XDG 深色主题偏好设置。#38977
通过传递dummymodule.exports提高了与沙盒预加载脚本中 CommonJS 模块的兼容性。#39484
改进
改进 Linux 上child_processAPI 的fork()和execve()性能。#39253
修复了 macOS 上调整大小的性能问题。#40586
修复了 DWM 上的不透明窗口性能回归。#39895
在 macOS 上重新启用分区分配。#40230
删除 / 弃用
app.runningUnderRosettaTranslation属性已被弃用。#39897
app上的gpu-process-crashed事件已被弃用。#40195
app上的renderer-process-crashed事件以及WebContents和<webview>上的崩溃事件已被弃用。#40089
修复了未引用时无法对MessagePorts进行垃圾回收的问题。#40201
修复了应用程序在 macOS Sonoma 上无法正确激活面板窗口的问题。#40465
修复了在 Linux 中传递给shell.showItemInFolder的文件路径不被转义的问题。#40562
修复了在node_modules中加载嵌套的 ESM 依赖关系的问题。在 asar 文件中支持fs.statSync/fs.lstatSync中的throwIfNoEntry选项。#40224
修复了 first party sets. 的same-party cookie 功能。#40526
在 macOS 上使用activateIgnoringOtherApps来 focusing non-panels。#40621
终止对 25.xy 的支持
根据项目的支持政策,Electron 25.xy 已结束支持。鼓励开发人员和应用程序升级到较新版本的 Electron。
Demand feedback