Electron 25.0.0 发布,跨平台桌面应用开发工具

332 阅读3分钟

原文

Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面应用程序。它基于 Node.js 和 Chromium,被 Atom 编辑器和许多其他应用程序使用。Electron 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用程序。

Electron 25.0.0 现已发布,具体更新内容如下:

Features

  • 添加了使用 defaultSession 对象解析主机的 net.resolveHost。#38152
  • 向 cursor-changed 事件添加了几个新的光标值。#38363
  • 在 Windows 上添加了对 Mica 和 Acrylic 背景效果的支持。#38357
  • 公开 webContents 用于居中文本选择、滚动到页面底部和顶部以及调整所选文本的方法。#38362
  • 从扩展程序中显示 context-menu 事件。#38356
  • 添加了 BrowserWindow.set/getWindowButtonPosition API。#37094
  • 添加 httpOnly 到 cookie 过滤器。#37255 
  • 添加 logUsage 到 shell.openExternal() 选项,允许在 Windows 上将 SEE_MASK_FLAG_LOG_USAGEflag 传递给 ShellExecuteExWindows。#37139
  • 增加了 net.fetch()#36733
  • 添加 protocol.handle、替换和弃用 protocol.{register,intercept}{String,Buffer,Stream,Http,File}Protocol#36674
  • 添加 types 到 webRequest 过滤器。#30914
  • 向 webContents 和 <webview>tag 添加了一个 will-frame-navigate 事件,每当框架层次结构中的任何框架尝试导航时都会触发该事件。#34418
  • 向导航器事件添加了启动器信息。#37085
  • 添加了使用 defaultSession 对象解析主机的 net.resolveHost。#38152 
  • 在 app 上添加了新的 “did-resign-active” 事件。#38018
  • 添加了几个标准页面大小选项到 webContents.print()#37159
  • 在会话处理程序 ses.setDisplayMediaRequestHandler() 的回调中增加了 enableLocalEchoflag,当音频是 WebFrameMain 时,允许远程音频输入在本地输出流中被 echo。#37315 
  • 将热管理信息添加到 powerMonitor#38028
  • 允许将绝对路径传递给 session.fromPath () API。#37604
  • 暴露了 webContents 上的 audio-state-changed 事件#37366

Fixes

  • 确保 Electron 的自定义 AXManualAccessibility 属性在所有相关协议方法中按预期工作。#38223
  • 修复了使用无效设置调用 webContents.print 时可能发生的崩溃。#38230
  • 修复了无论焦点状态如何,Windows FrameView 始终显示为非活动状态的问题。#38473
  • 修复了 macOS 上最小化或全屏窗口 BrowserWindow.isMaximized() 可能错误返回 true 的问题。#38307
  • 修复了在 Windows 上 BrowserWindow.isVisible() 对于最小化窗口会不正确的返回 true 的问题。#38314
  • 修复了 MediaStreamTrack.getCaptureHandle() 总是返回 null#38433
  • 修复了 getNormalBounds() 在 Windows 上为透明最大化窗口返回不正确边界的问题。#38348
  • 修复了窗口被销毁后访问 BrowserWindow.id 抛出错误的问题。#38311
  • 修复调用 win.minimize() 后直接调用 win.maximize(),再调用 win.isMaximized() 错误返回 true 的问题。#38345
  • 修复了 Windows 的默认背景颜色可能不正确的问题。#38157
  • ......

详情可查看更新说明