近日,Electron 30.0.0 正式发布!你可以通过 npm install electron@latest
进行安装,或者从 Electron 的发布网站下载,继续阅读了解此版本的详细信息。
🔥 主要更新
- Windows 上支持 ASAR 完整性融合。如果未正确配置,启用 ASAR 完整性的现有应用程序可能在 Windows 上无法正常工作。使用 Electron 打包工具的应用程序应升级到
@electron/packager@18.3.1
或@electron/forge@7.4.0
。详细信息请查看我们的 ASAR 完整性教程。 - 新增
WebContentsView
和BaseWindow
主进程模块,弃用并替代BrowserView
。BrowserView
现在是WebContentsView
的一个包装,旧实现已被移除。请参阅我们的 Web 嵌入文档,了解新的 WebContentsView API 与其他类似 API 的比较。 - 实现了对文件系统 API 的支持。
🔧 架构更新
- Chromium 升级至 124.0.6367.49
- Chrome 124 和 DevTools 124 中的新功能
- Chrome 123 和 DevTools 123 中的新功能
- Node 升级至 20.11.1
- V8 升级至 12.4
🌟 新增功能
webviews
现在支持透明的webpreference
。webContents
API 上新增了一个实例属性navigationHistory
,以及navigationHistory.getEntryAtIndex
方法,使应用程序能够检索浏览历史中任何导航条目的 URL 和标题。- 新增
BrowserWindow.isOccluded()
方法,允许应用程序检查遮挡状态。 net
模块发出的请求现在支持代理配置。navigator.serial
中的蓝牙端口现在支持按服务类 ID 请求。- 支持 Node.js 的
NODE_EXTRA_CA_CERTS
CLI 标志。
⚠️ 注意事项
- 跨源 iframe 现在使用 Permission Policy 来访问功能。必须通过 allow 属性指定给定 iframe 可用的功能,以便访问它们。
- 移除了
--disable-color-correct-rendering
命令行开关。Chromium 自身对颜色空间的支持更好,因此不再需要此标志。 - macOS 上的
BrowserView.setAutoResize
行为发生了变化。在 Electron 30 中,BrowserView 现在是新的 WebContentsView API 的包装。如果你的应用程序使用BrowserView.setAutoResize
来执行比填充整个窗口更复杂的操作,那么你可能已经有了处理 macOS 上行为差异的自定义逻辑。在 Electron 30 中,由于自动调整大小行为是一致的,因此不再需要这些逻辑。 - 移除了 WebContents 上
context-menu
事件中params
对象的params.inputFormType
属性。请改用新的formControlType
属性。 - 移除了
process.getIOCounters()
。Chromium 已删除对此信息的访问。
🌈 升级到 Electron 30.0.0,体验全新功能和改进吧!