Firefox 87 开发者发布说明

本文档提供有关 Firefox 87 中影响开发者的变更信息。Firefox 87 于 2021 年 3 月 23 日发布。

注意:另请参阅 Mozilla Hacks 上的 《三月,我们看到了 Firefox 87》

Web 开发人员的变更

开发者工具

HTML

无更改。

CSS

  • 某些语言中存在总是同时大写的双字母组合,例如荷兰语中的 IJ::first-letter 伪元素现在会识别这些双字母组合,并将它们视为一个整体(Firefox bug 92176)。
  • <link> 元素不再被 :link:visited:any-link 匹配。此更改使 Firefox 的行为与 Chrome 和最新的规范保持一致(Firefox bug 1687538)。

移除

  • 以下 Firefox 特定的与主题相关的媒体功能已在网页中禁用(Firefox bug 787521

    • -moz-mac-graphite-theme
    • -moz-mac-lion-theme
    • -moz-maemo-classic
    • -moz-windows-classic
    • -moz-windows-compositor
    • -moz-windows-default-theme
    • -moz-windows-theme
    • -moz-scrollbar-end-backward
    • -moz-scrollbar-end-forward
    • -moz-scrollbar-start-backward
    • -moz-scrollbar-start-forward
    • -moz-scrollbar-thumb-proportional
    • -moz-menubar-drag
  • caption-side 的非标准值(leftrighttop-outsidebottom-outside)已被移除,并置于 layout.css.caption-side-non-standard.enabled 标志后(Firefox bug 1688695)。

JavaScript

无更改。

HTTP

安全

无更改。

API

DOM

  • beforeinput 事件和 getTargetRanges() 方法现在默认启用。它们允许 Web 应用程序在浏览器修改 DOM 树之前覆盖文本编辑行为,并提供对输入事件的更多控制以提高性能。全局 beforeinput 事件在元素值更改之前立即发送到 <input> 元素 — 或任何 contenteditable 属性设置为 true 的元素。InputEvent 接口的 getTargetRanges() 方法返回一个静态范围数组,如果输入事件未被取消,该数组将受 DOM 更改的影响。

WebDriver 符合性 (Marionette)

  • 用于重写 Marionette 以支持 Fission(站点隔离)的工作已完成,因此旧的 Marionette 实现已被移除。因此,用于在新旧实现之间切换的 marionette.actors.enabled 首选项也已被移除(Firefox bug 1669172)。
  • 在调用 WebDriver:SwitchToFrame 后,如果框架内容尚未加载完成,WebDriver 命令将不再因“窗口不存在”错误而失败(Firefox bug 1691348)。
  • 跨组页面导航 后,访问先前检索到的元素现在将始终引发“过时元素”错误;此操作不再可能导致“元素不存在”错误(Firefox bug 1690308)。
  • 当要卸载的附加组件 ID 未知时,Addon:Uninstall 现在会引发“未知错误”(Firefox bug 1693022)。

附加组件开发人员的变更