Firefox 90 for developers 发行说明
本文档提供了有关 Firefox 90 中将影响开发者的更改的信息。Firefox 90 已于 2021 年 7 月 13 日发布。
注意:另请参阅 Mozilla Hacks 上的 “Firefox 90 活跃起来”。
Web 开发人员的变更
开发者工具
- 响应视图现在会显示 网页字体预览(Firefox bug 872078)。
HTML
- 在 `multipart/form-data` 的换行符规范化和转义处理方式上进行了修复。这符合更新后的规范,并与其他浏览器实现保持一致。(Firefox bug 1686765)。
- Firefox 现在会根据 EXIF 信息(如果存在且自洽)来设置图片的 固有尺寸和分辨率。这允许服务器发送低质量的占位符图片以加快加载速度。它还支持 其他多种用例(Firefox bug 1680387)。
CSS
- 已实现 `-webkit-image-set()` 作为标准 `image-set()` 函数的别名(Firefox bug 1709415)。
JavaScript
- 现在默认支持 私有类静态字段、实例字段和方法(Firefox bug 1708235 和 Firefox bug 1708236)。
- 现在可以使用 `in` 运算符 检查类私有方法或字段是否已定义。这提供了一种更简洁的处理潜在未定义功能的方法,而不是将代码包装在 `try/catch` 块中(Firefox bug 1648090)。
- 现在,通过 `Intl.DateTimeFormat()` 构造函数的选项指定的自定义日期/时间格式可以包含 `dayPeriod` — 这是一个指示应包含一天的大致时间(例如,“上午”、“晚上”等)的值,作为 `narrow`、`short` 或 `long` 字符串(Firefox bug 1645115)。
- 已将相对索引方法 `at()` 添加到 `Array`、`String` 和 `TypedArray` 全局对象中。(Firefox bug 1681371)
HTTP
- 现在支持 HTTP 获取元数据请求标头(`Sec-Fetch-*`)。这些标头为服务器提供了有关请求的额外上下文,包括它们是同源、跨源、同站点还是用户发起的,以及请求的数据在哪里/如何被使用。这使得服务器能够缓解多种类型的跨源攻击(Firefox bug 1695911)。
移除
- FTP 已从 Firefox 中移除(Firefox bug 1574475)。此举是在 Firefox 88 弃用之后进行的。请注意,Web 扩展仍然可以注册为 FTP 协议处理程序。
API
DOM
- 添加了对已弃用的 `WheelEvent` 属性的支持:`WheelEvent.wheelDelta`、`WheelEvent.wheelDeltaX` 和 `WheelEvent.wheelDeltaY`。这使得 Firefox 能够处理因 `WheelEvent` 近期兼容性改进而损坏的一小部分页面(Firefox bug 1708829)。
- Canvas API 的 `CanvasRenderingContext2D` 接口现在提供了一个 `createConicGradient()` 方法。它返回一个 `CanvasGradient`,类似于现有的 `linear` 和 `radial` 渐变,但允许渐变围绕由坐标定义的点移动。有关更多详细信息,请参阅(Firefox bug 1627014)。
- 已添加对 `matrix` 协议的支持,现在可以将其作为有效的 scheme 传递给 `Navigator.registerProtocolHandler()` 方法。
WebDriver 符合性 (Marionette)
- Marionette 现在限制为单个活动的 WebDriver 会话(Firefox bug 1691047)。
- 添加了对 Firefox 中新型用户提示的支持(Firefox bug 1686741)
- 窗口句柄现在使用唯一 ID,并且在由 跨组导航引起的进程交换时不会改变(Firefox bug 1680479)。
- 修复了在后台标签页中打开新的用户提示时,当前 WebDriver 命令被不当中止的问题(Firefox bug 1701686)。
- 修复了 `WebDriver:GetWindowHandles` 命令,现在可以正确处理未加载的标签页(Firefox bug 1682062)。
- 修复了 `WebDriver:NewSession` 命令,使其始终返回 `proxy` capability,即使它是空的(Firefox bug 1710935)。
移除
- 随着 Firefox 90 移除 FTP 支持,`ftpProxy` capability 不再被评估,使用时会抛出 `invalid argument` 错误(Firefox bug 1703805)。
附加组件开发人员的变更
- `matrix` URI scheme 现在受支持,并且可以在扩展的 `manifest.json` 中的 `protocol_handlers` 键内定义为协议。
- 从这个版本开始,可以在扩展页面和 worker 全局中使用 Cache API。更多详细信息,请参阅(Firefox bug 1575625)。