开发知识

Electron 30 正式发布,新特性详解

来源: 前端充电宝  日期:2024-04-18 19:10:23  点击:19  属于:开发知识
4 月 16 日,Electron 30.0.0 正式发布!该版本包括了对 Chrome 124.0.6367.49、V8 12.4 和 Node.js 20.11.1 的升级。下面就来看看该版本都有哪些更新吧!

可以通过以下命令来安装最新版本:

npm install electron@latest

依赖更新

  • Chrome 124.0.6367.49
  • V8 12.4
  • Node.js 20.11.1

重大变化

  • 添加了WebContentsView和BaseWindow,用以替换现已弃用的BrowserView API。
  • 为ASAR Integrity fuse添加了Windows支持。
  • Chromium更新至122.0.6194.0版本,跨域 iframe 现在使用 Permission Policy 来访问功能。
  • Chromium更新至122.0.6236.2版本,移除了--disable-color-correct-rendering开关。
  • 上下文菜单参数中的inputFieldType属性已被移除。
  • Chromium更新至124.0.6323.0版本,移除了process.getIOCounters()函数。

新特性

新增功能

  • 为webview增加了透明的webpreference设置选项。
  • 在webContents API中新增了navigationHistory实例属性,包含getEntryAtIndex方法,使应用能够检索浏览历史中任意条目的URL和标题。
  • 添加了BrowserWindow.isOccluded()方法,用于检查窗口是否被遮挡。
  • 将net模块集成到实用程序进程中。
  • 增强了从实用程序进程使用net模块发出的请求的代理配置支持。
  • 在navigator.serial中支持通过服务类 ID 请求蓝牙端口。
  • 增加了对NODE_EXTRA_CA_CERTS的支持。
  • 实现了对文件系统 API 的支持。

移除功能

  • 从Windows的zip文件中移除了多余的dll文件。

问题修复

  • 修复了BrowserViews默认显示为白色而不是透明的问题。
  • 解决了WebContents.loadURL()在连续调用时可能错误失败的问题。
  • 修复了禁用最大化并启用特定选项时,窗口仍显示最大化按钮的bug。
  • 解决了在WebContents被清理后,与WebContentsView交互可能导致程序崩溃的问题。
  • 修正了app.getLoginItemSettings未能正确抛出错误的情况。
  • 解决了BrowserWindow中子视图可能出现的异常问题。
  • 修复了在Mac上,显示或聚焦面板窗口时应用被意外激活的问题。
  • 改进了Windows 11上,使用Windows Control Overlay时的标题按钮外观。
  • 优化了加载无效URL时,webcontents.loadURL的promise处理,确保正确拒绝。

注意事项

根据项目的支持政策,Electron 27.x.y 已经达到了支持结束的状态,建议升级到更新的 Electron 版本。