Web 开发人员的变更
HTML
无显著变化
CSS
移除
- CSS 属性
-moz-user-input
允许您禁用输入字段。该属性现已弃用并已被移除(Firefox bug 1935198)。
JavaScript
- 现已支持 JSON 解析源提案,该提案旨在提供功能,以缓解在 JavaScript 值和 JSON 文本之间转换大浮点数和日期值等值时发生的精度丢失问题(Firefox bug 1934622)。具体来说,以下功能现已可用:
JSON.parse()
的reviver
参数context
参数:提供对已解析的原始 JSON 源文本的访问。JSON.isRawJSON()
:测试一个值是否是JSON.rawJSON()
返回的对象。JSON.rawJSON()
:创建一个包含一段 JSON 文本的“原始 JSON”对象,然后可以将其包含在一个对象中,以便在字符串化该对象时保留指定值。
安全
- 证书透明度是一项标准,用于确保在 Web 浏览器信任证书之前对其进行公开披露。Firefox 现在在桌面版本(Android 除外)上支持此功能。这仅影响使用 Mozilla 根证书程序中的证书颁发机构颁发的证书的服务器。(Firefox bug 1938242)。
API
- 支持
PublicKeyCredential.getClientCapabilities()
静态方法,允许 Web 应用在无需依赖用户代理嗅探的情况下检查浏览器是否启用了特定的 WebAuthn 功能和 扩展。(Firefox bug 1884466)。
DOM
媒体、WebRTC 和 Web Audio
- 现在支持
RTCOutboundRtpStreamStats
接口的mid
和rid
属性,以及RTCInboundRtpStreamStats
接口的mid
属性。(Firefox bug 1643001)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
通用
-
为了使用户事件更逼真,并更好地模拟浏览器中的真实用户交互,我们将 Marionette 和 WebDriver BiDi 中的
Perform Actions
命令的动作序列处理从内容进程移到了父进程。虽然事件仍从内容进程同步发送,但现在通过源自父进程的 IPC 调用异步触发(Firefox bug 1922077)。由于这一重大变更,可能仍然存在一些回归。如果您遇到任何问题,请 为 Remote Agent 提交 bug。如果回归阻止了测试执行,您可以通过将 Firefox 首选项
remote.events.async.enabled
设置为false
来暂时恢复到之前的行为。 -
现在由父进程处理动作,以下问题也已得到修复:
-
我们现在支持动作序列的正确排队,没有竞争条件。这对于 WebDriver BiDi 的
input.performActions
命令尤为重要,该命令可以并行多次调用,并且必须按顺序执行排队的动作(Firefox bug 1915798)。 -
在分派动作时,
input cancel list
仅在动作成功分派后才得到正确更新。以前,如果一个动作执行失败,可能会保留一个反向动作,导致在重置input source
状态时出现意外的副作用(Firefox bug 1930845)。 -
在执行动作时,单个动作现在会在分派时重试,尤其是在单个动作触发导航替换当前浏览上下文的情况下(Firefox bug 1930530,Firefox bug 1930090)。
-
在执行动作时,如果动作链中的某个动作(不是最后一个)关闭了窗口,并且其余动作仍在分派,则会发生
TypeError: can't access property "getActor", browsingContext.currentWindowGlobal is null
错误(Firefox bug 1932916)。
-
-
一些内部依赖于在返回之前发出
requestAnimationFrame
的 Marionette 和 WebDriver BiDi 命令,如果在执行期间导航到当前浏览上下文,则会挂起(Firefox bug 1937118)。
WebDriver BiDi
- 为
browsingContext.captureScreenshot
命令添加了对format
字段的支持,允许客户端指定不同的文件格式(目前支持image/png
和image/jpeg
),并定义屏幕截图的压缩质量(Firefox bug 1861737)。
附加组件开发人员的变更
commands.update
现在可以将命令的键盘快捷方式分配给F13
到F19
键。但是,扩展程序无法从commands
manifest.json 键分配这些键。用户也可以使用 管理扩展快捷方式将功能分配给这些键(Firefox bug 1924542)。
实验性 Web 功能
这些功能是 Firefox 135 中新发布的,但默认情况下是禁用的。要尝试它们,请在 about:config
页面上搜索相应的首选项并将其设置为 true
。您可以在 实验性功能页面上找到更多此类功能。
- Temporal API(Nightly 版本):
javascript.options.experimental.temporal
。 Temporal 对象旨在简化在各种场景下处理日期和时间,并内置时区和日历表示。(Firefox bug 1912511)。 - Prioritized Task Scheduling API:
dom.enable_web_task_scheduling
。 Prioritized Task Scheduling API 提供了一种标准化的方法来优先处理属于应用程序的所有任务,无论它们是在网站开发者代码中定义的,还是在第三方库和框架中定义的。为了避免 实际使用中出现中断,此功能已暂时在 Nightly 版本中禁用。(Firefox bug 1938242)。