Firefox 65 的开发者说明

本文提供了有关 Firefox 65 中影响开发者的变更信息。Firefox 65 于 2019 年 1 月 29 日发布。

为 Web 开发者带来的变化

开发者工具

  • 现已默认启用 Flexbox 检查器
  • 现已添加 JavaScript 调试器的 XHR 断点支持(Firefox bug 821610)。
  • 从无障碍环境查看器右键单击无障碍树中的项目,可将其以 JSON 格式打印到 JSON 查看器。
  • 无障碍选取器的颜色对比度显示已更新,如果文本背景复杂(如渐变或复杂图像),则会显示一系列颜色对比度值。
  • 网络监控器 的“标头”标签页现在会显示所选请求的 referrer 策略(Firefox bug 1496742)。
  • 在显示堆栈跟踪时(例如在控制台日志或 JavaScript 调试器中),对框架方法的调用会被识别出来并默认折叠,这样就能更轻松地锁定代码。
  • 现在,你可以使用与本地终端相同的反向搜索方式查找 JavaScript 控制台历史记录中的条目(Windows/Linux 上使用 F9 或 macOS 上使用 Ctrl + R,然后键入搜索词,接着使用 Ctrl + R/Ctrl + S 来切换搜索结果)。
  • JavaScript 控制台的 $0 快捷键(引用页面上当前检查的元素)现在可以使用自动补全功能,例如,可以键入 $0.te 以获得 $0.textContent 等属性的自动补全建议。
  • Inspector 中“规则”视图中作出的编辑会在“更改”面板中列出(Firefox bug 1503920)。

HTML

CSS

  • image-rendering 属性的 crisp-edges 值现已取消前缀化(Firefox bug 1496617)。

  • scrollbar-colorauto 值现已解析为 auto,而不是两种颜色(Firefox bug 1501418)。

  • 现一实现 break-* 属性,且遗留的 page-break-* 属性已经成为它们的别名(Firefox bug 775618):

  • 现已实现 overflow-wrap 属性的 anywhere 值(Firefox bug 1505786)。

  • 现已实现 steps() 时间函数中使用的新步骤位置关键字 jump-startjump-endjump-nonejump-bothFirefox bug 1496619)。这也与 frames() 定时函数的移除不谋而合,该函数是以前实现此类功能的方法,现已弃用。

  • 为了与其他浏览器兼容,新增了一些新的 -webkit-appearance 值,特别是:

    • meter,现在用作 UA 样式表中 <meter> 元素的默认值。现有值 meterbar 现在是 meter 的别名(Firefox bug 1501483)。
    • progress-bar,现在用作 UA 样式表中 <progress> 元素的默认值。现有值 progressbar 现在是 progress-bar 的别名(Firefox bug 1501506)。
    • textarea,现在用作 UA 样式表中 <textarea> 元素的默认值。现有值 textfield-multiline 现在是 textarea 的别名(Firefox bug 1507905)。
  • 已更改 user-select 的行为,使其更符合其他浏览器的要求(Firefox bug 1506547)。具体如下:

    • 在元素上设置的 user-select: all 不再覆盖在该元素的子元素上设置的其他 user-select 值。因此,例如在以下代码段中:

      html
      <div style="-webkit-user-select: all">
        All
        <div style="-webkit-user-select: none">None</div>
      </div>
      

      设置了 none<div> 现在不可选择。以前,该值会被父元素上设置的 all 值覆盖。

    • 嵌套在 contenteditable 元素内的非 contenteditable 元素现在可以选择。

    • user-select 现在在影子 DOM 内外表现一致。

    • 删除了专有的 -moz-text 值。

  • 已实现 CSS 环境变量(env() 函数)(Firefox bug 1462233)。

移除

SVG

无变化。

JavaScript

API

新的 API

DOM

DOM 事件

Web worker

Fetch 和 Service worker

Media、Web Audio 和 WebRTC

Canvas 和 WebGL

移除

  • 已禁用影子树中的变更事件Firefox bug 1489858)。
  • 已移除 MediaStream 非标准的 currentTime 属性(Firefox bug 1502927)。
  • 已移除 dom.webcomponents.shadowdom.enableddom.webcomponents.customelements.enabled 首选项——将不再能够通过 about:config 禁用影子 DOM 和自定义元素(Firefox bug 1503019)。
  • 已移除非标准 DOM text 事件,该事件用于通知浏览器编辑器用户界面 IME 合成字符串数据和选择范围(Firefox bug 1288640)。
  • keypress 事件不再为除了 Enter 键、Shift + EnterCtrl + Enter 键组合以外的不可打印按键 触发(Firefox bug 968056)(保留它们的原因是为了实现跨浏览器兼容)。

安全

网络

无变化。

插件

无变化。

WebDriver 一致性(Marionette)

API 变化

  • WebDriver:ElementSendKeys 现在可以更轻松地处理 <input type=file> 交互性检查,并允许隐藏这些元素而不再引发 not interactable 错误。如果希望进行严格的交互性检查,则可使用 strictFileInteractability 功能(Firefox bug 1502864)。

Bug 修复

  • 窗口操作命令 WebDriver:FullscreenWindowWebDriver:MinimizeWindowWebDriver:MaximizeWindowWebDriver:SetWindowRect 变得更加稳定(Firefox bug 1492499)。这意味着在特殊情况下,它们不会再导致无限挂起,而是在无法达到所请求的窗口状态时在 5 秒后超时(Firefox bug 1521527)。
  • WebDriver:ElementClick 现在能正确计算要点击的元素的中心点,从而允许尺寸为 1x1 像素的交互(Firefox bug 1499360)。

其他

其他

为附加组件开发者带来的变化

API 变化

Tabs

  • Tabs API 已得到增强,可支持标签页的后继标签页——标签页可分配一个后继标签页,即关闭后将激活的标签页的 ID(Firefox bug 1500479,更多信息请参阅本博文)。特别是:

    • tabs.Tab 类型现拥有 successorId 属性,可用于存储/读取标签页后续标签页的 ID。
    • tabs.onActivated 事件监听器的回调现拥有一个新参数 previousTabId,其中包含前一个已激活标签页的 ID(如果该标签页仍处于打开状态)。
    • tabs.update() 函数的 updateProperties 对象新增了一个可选属性 successorTabId,可用于更新。
    • successorTabId 也会通过 tabs.get()tabs.query() 等函数返回。
    • 新函数 tabs.moveInSuccession() 允许批量操作标签页的后续标签页。

Manifest 变化

无变化。

其他

参见

更早期的版本