Web 开发人员的变更
CSS
- 为了进一步实现锚点定位,
inset-areaCSS 属性已重命名为position-area。目前,此属性仅在内部用于解析值。锚点定位功能正在通过一个首选项逐步推出。有关更多信息,请参阅Firefox 中的实验性功能:CSS 锚点定位。(Firefox bug 1909358 和 Firefox bug 1838746)。
JavaScript
- 已添加对同步迭代器辅助方法(包括:
Iterator.prototype.drop()、Iterator.prototype.every()、Iterator.prototype.filter()、Iterator.prototype.find()、Iterator.prototype.flatMap()、Iterator.prototype.forEach()、Iterator.prototype.map()、Iterator.prototype.reduce()、Iterator.prototype.some()和Iterator.prototype.take())的支持。这些辅助方法允许在迭代器上执行类似Array的操作,而无需创建中间Array对象。它们也可以与非常大的数据集一起使用,这些数据集甚至无法创建中间Array。有关更多信息,请参阅Iterator接口中的迭代器辅助方法。(Firefox bug 1896390)。
HTTP
- 具有
SameSite=None属性值的Set-CookieHTTP 标头现在还必须包含Secure属性。这可确保使用SameSite=None设置的 Cookie 仅通过 HTTPS 渠道发送。此外,由于 Firefox 将未指定的SameSite值解释为SameSite=None,因此未指定SameSite的 Cookie 将受到相同的限制。(Firefox bug 1909673)。 - 现在支持具有独立分区状态的 Cookie (CHIPS),也称为“分区 Cookie”。此功能允许开发者使用
Set-CookieHTTP 标头的partitioned指令将 Cookie 选择加入分区存储。设置后,Cookie 将为每个顶级站点拥有单独的存储,并且只能在设置它们的同一顶级站点及其子域中读取。这可以阻止跨站点跟踪,同时仍然支持第三方 Cookie 的合法用途,例如在站点不同子域之间持久化嵌入式地图或聊天小部件的状态。(Firefox bug 1908160)。
API
- 现在支持
PointerEvent接口的altitudeAngle和azimuthAngle属性。它们分别提供了指针/触控笔与屏幕(X-Y 平面)之间的角度,以及触控笔相对于其 x 轴在屏幕上的旋转角度。(Firefox bug 1656377)。 - 现在支持文本片段,允许用户链接到网页中的特定文本部分并高亮显示。此功能在URL 片段中使用一种特定的语法,该语法根据渲染文本中的模式来识别目标。开发者现在还可以使用
Document.fragmentDirective属性(FragmentDirective接口的实例)的存在来按功能检查文本片段支持。此外,::target-text伪元素可用于选择和样式化通过文本片段链接选择的文本。(Firefox bug 1914877)。 - 已更新
Document接口的caretPositionFromPoint()方法,以在提供相应阴影根的阴影 DOM 中返回文本节点和偏移量。可以通过新添加的options参数的shadowRoots属性将ShadowRoot对象传递给该方法。(Firefox bug 1914596)。
WebAssembly
- 现在可以使用值为
exnref的新异常引用来帮助 WebAssembly 和 JavaScript 之间的双向异常处理。(Firefox bug 1908375)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
通用
- 对于 WebDriver Classic 和 BiDi,
keyUp和keyDown操作将不再接受value的多个字符。(Firefox bug 1910352)。
WebDriver BiDi
- 已添加对
network.continueResponse命令剩余参数的支持- Cookie 和标头参数。(Firefox bug 1853887)。
statusCode(例如,200、304)和reasonPhrase(例如,“OK”、“Not modified”)参数。(Firefox bug 1913737)。
- 如果
wait参数为none且触发了beforeunload提示,browsingContext.navigate命令将不再返回。 - 根据规范要求,在所有导航失败的情况下,
browsingContext.navigate命令将返回unknown error。(Firefox bug 1905083)。 - 如果
unhandledPromptBehavior能力未由客户端作为参数指定,session.new命令将不再在其响应中包含该能力。(Firefox bug 1909455)。
附加组件开发人员的变更
- Firefox Nightly 131 现在强制执行
storage.sessionAPI 存储数据的 10 MB 配额。以前,Firefox 没有实现此配额。此强制执行将从版本 137 开始向 Firefox 的发布版本推出(Firefox bug 1915688)。这使得依赖于先前行为的扩展可以纠正任何问题。(Firefox bug 1908925)。 storage.session现在支持storage.StorageArea.getBytesInUse()API 和storage.session.QUOTA_BYTES属性。(Firefox bug 1908925)。- 当通过
tabs.update()更改openerTabId时,现在会触发tabs.onUpdated。(Firefox bug 1409262)。 tabs.update现在接受将openerTabId设置为-1来清除openerTabId。(Firefox bug 1409262)。
实验性 Web 功能
这些功能已在新版的 Firefox 131 中发布,但默认情况下是禁用的。要尝试使用它们,请在 about:config 页面上搜索相应的首选项,并将其设置为 true。您可以在实验性功能页面上找到更多此类功能。
-
正则表达式 (?ims-ims:...) 修饰符:
javascript.options.experimental.regexp_modifiers。正则表达式修饰符 (?ims-ims:...) 允许您进行更改,这些更改仅在正则表达式模式的特定部分生效。(Firefox bug 1899813)。
-
麦克风和摄像头权限:
permissions.media.query.enabled。现在可以在
Permissions.query()方法中使用microphone和camera权限来测试是否已授予、拒绝或仍需要用户批准对相应硬件的访问。(Firefox bug 1609427 和 Firefox bug 1915222)。