Firefox 117 开发者发行说明
本文档提供了有关 Firefox 117 中影响开发者的更改的信息。Firefox 117 于 2023 年 8 月 29 日发布。
Web 开发人员的变更
HTML
无显著变化。
CSS
-
Firefox 现在支持 CSS Nesting 模块,以及
&嵌套选择器。这使得开发者能够编写嵌套的 CSS,有助于提高 CSS 样式表的_可读性_、_模块化_和_可维护性_。它还可能有助于减少 CSS 文件大小,从而减小下载尺寸。(Firefox bug 1835066,Firefox bug 1840781) -
现在支持
math-style和math-depth属性,以及font-size属性的math值(Firefox bug 1845516)。 -
现在支持
contain-intrinsic-size: auto none语法,这允许在可能的情况下使用元素最后记住的大小,否则会回退到contain-intrinsic-size: none。这对于网格和多列布局非常有用,可以让元素像没有内容一样布局,而不是 0px 高度(Firefox bug 1835813)。
JavaScript
无显著变化。
SVG
- 内联 SVG 现在支持带有
type="module"、defer和async属性的<script>元素。这使得 SVG 能够使用现代 JavaScript 功能,包括 ES 模块,并异步加载脚本(Firefox bug 1839954)。
HTTP
-
修复了一个错误,即 Content-Security-Policy
'strict-dynamic'源表达式未在default-src指令中强制执行。现在的行为与规范匹配,当未提供script-src时,default-src指令值将用作回退(Firefox bug 1313937)。 -
当值是单个字节范围(例如
bytes=100-200)时,Range标头现在是 CORS 安全列表请求标头。这允许在跨域请求中使用Range标头而不触发预检请求,这对于请求媒体和恢复下载非常有用(Firefox bug 1733981)。
API
- 现在可以使用
CanvasRenderingContext2D.getContextAttributes()方法来获取浏览器正在使用的 2D 上下文属性(Firefox bug 1517786)。 - 现在支持
ReadableStream.from()静态成员,允许开发者从任何可迭代对象或异步可迭代对象构建可读流(Firefox bug 1772772)。 - 现在支持 WebRTC 编码转换,允许 Web 应用程序使用在 worker 中运行的
TransformStream来修改传入和传出的 WebRTC 编码视频和音频帧。支持的接口包括:RTCRtpScriptTransform、RTCRtpScriptTransformer、RTCRtpSender.transform、RTCRtpReceiver.transform、RTCEncodedVideoFrame和RTCEncodedAudioFrame,以及RTCTransformEvent和 workerrtctransform事件(Firefox bug 1631263)。 CSSStyleRule现在继承自CSSGroupingRule,而不是直接继承自CSSRule。因此,它还实现了cssRules属性以及deleteRule()和insertRule()方法(Firefox bug 1846251)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
WebDriver BiDi
- 添加了
browser.close命令,允许用户终止所有 WebDriver 会话并关闭浏览器(Firefox bug 1829334)。 - 添加了
browsingContext.setViewport命令,允许用户更改顶层浏览上下文的尺寸(Firefox bug 1838664)。 - 添加了
browsingContext.fragmentNavigated事件,该事件在同文档导航时发出(Firefox bug 1841039)。 - 添加了对
browsingContext.create命令的background参数的支持,该参数将强制新上下文在后台创建。此参数是可选的,默认为false,这意味着browsingContext.create现在默认在前台打开新上下文(Firefox bug 1843507)。 - 添加了对
browsingContext.captureScreenshot命令的clip参数的支持,该参数允许将屏幕截图限制为特定区域或元素。当裁剪到元素时,您可以选择在截图前将元素滚动到视图中(Firefox bug 1840998)。 - 与导航相关的所有命令和事件现在将提供一个
navigationID,这是一个标识特定导航的UUID。此属性在browsingContext.navigate响应、browsingContext.load、browsingContext.domContentLoaded、browsingContext.fragmentNavigated事件以及导航请求创建的所有network事件中可用(Firefox bug 1763122,Firefox bug 1789484,Firefox bug 1805405)。 network事件中的headers和cookies现在被序列化为network.BytesValue,这将更好地支持非 UTF8 值(Firefox bug 1842619)。browsingContext.create命令现在将等待直到创建的上下文具有有效的大小(Firefox bug 1847044)。
开发者工具
-
网络监控器现在可以在 Headers 选项卡中显示有关代理请求的信息,包括代理地址、代理状态和代理 HTTP 版本(Firefox bug 1707192)。
-
现在可以使用键盘快捷键来调整和移动 测量工具选择的区域。按箭头键移动选定区域,按 Ctrl + 箭头键(或 Mac 上的 Cmd + 箭头键)调整选定区域大小。按住 Shift 键可以加速使用这些组合键进行移动和调整大小的操作(Firefox bug 1262782)。
-
在 Page Inspector 的 CSS 规则面板中,现在会报告不支持在伪元素(
::highlight()、::target-text、::spelling-error、::grammar-error和::selection)中使用的属性(Firefox bug 1842157)。