Electron 16是GitHub发布的跨平台桌面应用开发工具,支持Web技术开发桌面应用,其本身是基于C++开发的,GUI核心来自于Chrome,而JavaScript引擎使用v8。

Electron 16 发行说明

突发的变化

crashReporter API现在由Linux上的Crashpad提供支持。

desktopcapture的用法。呈现程序进程中的getSources API已弃用,将被删除。

特性

添加

添加了’dom-ready’事件到WebFrameMain,当框架的文档准备好时它会发出。

添加了’frame-created’事件到WebContents,当一个框架在页面中被创建时它会发出。

添加WebHID支持。

增加了. sendtoframe () / frameId到’ipc-message’事件。

添加了 ‘did-redirect-navigation’事件。

增加了配置DNS-over-HTTPS的app.configureHostResolver API。

添加命令行。removeSwitch允许应用程序从Chromiums内部命令行表示中删除命令行开关。

为context-menu事件的params对象添加了frame属性。

添加isIssuedByKnownRoot到ses。setCertificateVerifyProc回调。

添加isMainFrame参数到’certificate-error’事件。

增加了safeStorage字符串加密API。

增加了dialog.showMessageBox() / dialog.showMessageBoxSync() textWidth选项。

添加了WebContents . fromdevtoolstargetid (targetId)从关联的Chrome DevTools协议targetId查找WebContents实例。

增加了一个电子熔断器,用于加强应用程序加载的app.asar文件的代码签名。需要最新的asar模块。

在打包的应用程序中添加了禁用NODE_OPTIONS和——inspect调试参数的fuse。

添加了新的数据参数到app.requestSingleInstanceLock()。

在Windows上增加了对Windows控制覆盖的支持。

增加对U2F Web API的支持。

增加了ipcrender . sendsync()在没有监听器的情况下调用ipcMain时的警告。

改进

除了权限检查处理程序之外,还开始为媒体请求的权限请求处理程序传递securityOrigin的详细信息。

点击PDF中的超链接现在可以实现您所期望的功能。

设置超过最大允许长度的崩溃键名时发出警告。

WebContents默认启用沙箱,不使用Node或preload。

NativeImage对象现在可以通过IPC序列化。

crashReporter API现在由Linux上的Crashpad提供支持。

删除/弃用

desktopcapture的用法。呈现程序进程中的getSources API已弃用,将被删除。

修复

启用对navigator.keyboard.lock()的支持。

固定背景透明度回归。

修正了BrowserView.setBackgroundColor()不能正常工作的问题。

修正了一些透明窗口会以白色背景显示的问题。

修正了webContents中透明度不总是正确设置的问题。

修正了一个错误的问题,在设置了活力类型的窗口会有一个白色而不是透明的背景。

修正了posix在将列表传递给app.requestSingleInstanceLock(additionalData) API时的行为。

修复了浏览器进程中UAF导致的webview创建崩溃。

修复了在macOS上使用单例api时的崩溃问题。

固定分离的DevTools窗口不关闭时,与toggleDevTools角色的菜单项被触发。

固定的imageAnimationPolicy不被尊重。

拥有一个安全的CSP将不再导致CSP违规警告出现在控制台中。

~ /。如果config/{App Name}在unix系统中是一个符号链接,它将不再被错误地删除。

改变了WebHID使用disable- hide -blocklist标志来启用FIDO设备。

修正了webview在发出“context-menu”事件时的“Failed to serialize arguments”错误。

修复了加密DST根CA X3证书过期的问题。

修正了clipboard. writebuffer (), clipboard. readbuffer()和clipboard.read()操作平台特定的剪贴板格式的能力。

修正了macOS上无框架窗口的documenttedted状态不更新关闭按钮。

修正了一个JavaScript异常从webContents如果渲染帧被处置在WebFrameMain,重置render_frame_disposed_的值后更新渲染帧主机。

修正了navigator.fonts.query()的崩溃。

修复了当SharedArrayBuffer被禁用时repl崩溃的问题。

修正了进程崩溃的问题。exit,并启用nativeWindowOpen。

修复了一个崩溃时,浏览器窗口关闭后,其webContents被破坏。

修正了在Windows和Linux的本地文件对话框中选择文件时的崩溃。

修正了在Windows上可拖动区域可能发生的崩溃。

修正了在设置本机主题时可能发生的崩溃。themeSource macOS。

修复了在service worker中初始化Node.js时跟踪代理相关的崩溃。

修复了Mac上一个应用程序无法使用桌面捕获或getMediaSourceId api捕获自己的窗口的问题。

修正了当启用日志记录时窗口出现空控制台窗口的问题。

修正了webView中出现的一个问题,如果用户使用esc退出全屏,而不是单击进入webView,则不会触发leave-html-full-screen事件。

修正了BrowserView拖动行为与MacOS窗口拖动不一致的问题。

修正了在某些情况下BrowserView webContents会出现不加载的问题。

修正了在包含一个逗号的文件名附件中,Content-Disposition文件名会在第一个逗号处被错误截断的问题。

修正了MediaMetadata不能正常工作的问题。

修正了app.getPath(‘crashDumps’)在Linux中返回错误路径的问题。

修正了clipboard.read()可能导致自定义剪贴板格式崩溃的问题。

修正了在macOS上最大化窗口时指定的宽高比可能不正确的问题。

修正了当x或y坐标为负(屏幕外)时背景颜色不能正确应用于BrowserViews的问题。

修正了在Linux上文件选择器中的按钮标签不正确本地化的问题。

修正了在BrowserWindow中更改可拖动区域会不正确地影响附加的BrowserView的问题。

修正了在macOS上多次调用browserwindow . setresizable()会导致缩放按钮被错误地禁用的问题。

修正了设置高宽比的非可调整大小的非全屏窗口可能会返回错误的isMaximized()结果的问题。

修正了一个无法立即拖动失焦的BrowserViews的问题。

修正了一些调用加密的问题。使用BoringSSL不支持的算法创建的createPrivateKey在调用方法的返回值时导致崩溃。

修正了当showArrowButtons被启用时TouchBarScrubber崩溃的问题,如果项目是一个空数组。

修正了在macOS上用titlebarStyle切换documenttedted状态的问题:’hiddenInset’无意中移动了交通灯的位置。

修正了未停靠的开发工具在Windows上无法调整大小的问题。

修正了一个问题,导致打印设置不能正常工作时,打印静默。

修复了当渲染帧被破坏时WebContents::MessageTo的潜在崩溃。

修复了在无框架窗口中导致鼠标点击不被处理的bug。

修正了调整大小禁用后页面周围的黑色边框。

修正了在Windows 10中,当屏幕捕获受内容保护的BrowserWindow时出现黑窗的问题。

修正了子窗口没有继承正确的透明度和背景颜色设置。

固定的剪贴板。再一次像clipboard。readbuffer一样工作。

修复了破坏WebContents时由double free造成的崩溃。

修复了在GTK打开对话框时试图预览巨大的图像文件时崩溃的问题。

修正了Windows 7上GetHostNameW导致的崩溃。

修复了v8由于(Check failed: !regexp_stack_->is_in_use())导致的崩溃。

固定崩溃时改变缩放级别的webview。

修复了在异步对话框api之后立即使用同步对话框api时的崩溃。

修复了GTK对话框中的默认标签文本。

修正了在安全网站上设置不安全cookie时使用的默认设置。

修正了跟踪日志中带有无效时间戳的事件。

修正了macos11上无框窗口交通灯位置错误的问题。

修正了不可调整大小的无框窗口无法拖动的问题。

修正了macOS上的媒体键globalShortcuts问题。

修复了navigator.serial.getPorts()返回之前选择的端口的问题。

修正了调用window时可能出现的’Object has been destroyed’错误。使用setWindowOpenHandler打开一个框架名。

修正了当程序关闭可拖动的无帧子窗口时可能发生的崩溃。

修复了updatedraggablregions罕见的崩溃。

修正了在禁用LogJsConsoleMessages特性时,一些控制台消息仍然被打印到日志中。

修正了windows 32位版本下v8的堆栈溢出崩溃问题。

固定标题栏显示在简单的全屏模式。

固定透明无框架窗口有一个不透明的背景时,打开在最大状态。

修正了调用setContentProtection时的窗口框架故障。

生成有效的配置。在Node.js头文件中。

修复了在Mac上选择和打开本地文件对话框时崩溃的问题。

从Mac苹果商店中移除几个Chromium私有企业api。

其他的变化

反端口修复1251688,1219656。

改变Web串行使用ses。setDevicePermissionHandler允许开发人员更多地控制Web Serial权限。

Web Serial API不再是实验性的。

  • 开发工具 应用 Electron

下载地址

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。