Web 开发人员的变更
HTML
- HTML
webkitdirectory
属性和相应的HTMLInputElement.webkitdirectory
属性现在在 Firefox Android 上得到部分支持(Firefox bug 1887878)。该属性可以设置为指示<input type="file">
元素应提供目录选择,而非文件选择。请注意,所选文件夹返回的文件条目在 (File.webkitRelativePath
) 中始终包含空字符串,这意味着webkitdirectory
不适用于需要目录结构信息的用例(Firefox bug 1973726)。
CSS
- CSS
font-variant-emoji
属性允许你设置显示 emoji 的默认呈现样式(Firefox bug 1954214)。
JavaScript
variants
访问器属性现在在Intl.Locale
实例上得到支持。此属性将与区域设置相关的变体作为破折号(-
)分隔的标识符字符串返回。它提供了一种比手动解析或修改区域设置字符串更健壮的方式来获取和设置语言标识符的变体子标签(Firefox bug 1970161)。- 显式 资源管理 API,包括
using
和await using
声明,DisposableStack
、AsyncDisposableStack
和SuppressedError
对象,以及Symbol.dispose
和Symbol.asyncDispose
知名符号,现在均已支持。这些功能可确保在文件句柄或流读取器等资源超出作用域时自动清理,从而减少内存泄漏并简化错误处理(Firefox bug 1967744)。
HTTP
Clear-Site-Data
响应标头中的"cache"
指令现在会清除 bfcache(后退/前进缓存)。这允许网站确保,如果用户注销后进行后退导航,之前会话中可见的私人信息不会暴露(Firefox bug 1930501)。
API
PointerEvent
接口的persistentDeviceId
属性现在得到支持。它为与屏幕交互的每个指向设备提供一个在会话期间持久存在的唯一 ID。它提供了一种可靠的方式来标识同时与屏幕交互的多个指向设备(例如笔)(Firefox bug 1968400)。IntersectionObserver
接口的scrollMargin
属性现在得到支持。它在观察器根元素内的所有嵌套 滚动容器 上添加了一个边距,这允许观察器在目标元素滚动到视图内之前(或之后)进行观察,而不仅仅是在它们首次可见时(Firefox bug 1860030)。HTMLDialogElement
接口的closedBy
属性以及<dialog>
元素的相应closedby
属性现已支持。开发者可以使用这些属性来指定关闭对话框的机制,例如用户在对话框外部的交互(“浅层关闭”)或程序化关闭(Firefox bug 1964078)。HTMLElement
接口的showPopover()
和togglePopover()
方法现在接受options.source
参数,而togglePopover()
还接受force
或options.force
参数(Firefox bug 1936411)。(Firefox bug 1936411)options.source
建立了一个弹出窗口与其调用者(控件元素)之间的关系。与等效的声明式属性popovertarget
一样,这使得弹出窗口对键盘用户更易于访问(请参阅 Popover 可访问性功能)。它还在两者之间创建了一个隐式锚点引用,这使得弹出窗口相对于其控件的定位更加自然(请参阅 Popover 锚点定位)。togglePopover()
的force
或options.force
参数可用于强制弹出窗口打开或关闭,并且如果弹出窗口已处于强制状态,则会被忽略。与showPopover()
和hidePopover()
不同,如果弹出窗口已处于目标状态,此操作不会引发异常。
- WebGPU API 现在在 Windows 上完全支持,除 service worker 外的所有上下文中。这允许开发者使用用户计算机的 图形处理单元 (GPU) 执行计算和图形渲染(Firefox bug 1972486)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
通用
- 从 Firefox 中移除了实验性的 CDP(Chrome DevTools Protocol)实现。因此,我们也移除了对
remote.active-protocols
偏好的支持。有关此主题的更多详细信息,请参阅 Firefox Developer Experience(Firefox bug 1882096)。 - 移除了临时的
remote.system-access-check.enabled
偏好设置。在测试期间,此偏好设置不再用于禁用在使用 WebDriver 访问 Firefox 的 chrome 作用域时进行的系统访问检查(Firefox bug 1955007)。
WebDriver BiDi
- 为
browser.createUserContext
命令添加了对 "proxy" 参数的支持。这允许客户端在创建用户上下文(即 Firefox Container)时设置 "direct" 或 "manual" 代理。稍后将添加对其他代理类型的支持(Firefox bug 1967653)。 - 实现了新的
browsingContext.historyUpdated
事件,当在网页上下文中调用history.pushState()
、history.replaceState()
或document.open()
时会发出此事件(Firefox bug 1906051)。 - 改进了尝试永久安装未打包的、未签名的 Web 扩展时显示的错误消息(Firefox bug 1958723)。
- 更新了
browsingContext.navigate
和browsingContext.reload
命令,以便在使用 "none" 的 "wait" 条件时等待browsingContext.navigationCommitted
事件(Firefox bug 1967469)。 - 更新了 WebDriver BiDi cookie API,以支持 "sameSite" 属性中的 "default" 值,以解决平台 API 近期的更改,这些更改将不再允许在 HTTP 页面上设置具有 "sameSite=None" 和 "secure=false" 的 cookie(Firefox bug 1971488)。
Marionette
- 为避免对每次调用
WebDriver:ElementClick
(即使没有导航发生)产生不必要的 200 毫秒延迟,我们将潜在导航的 click-and-wait 超时时间缩短至 50 毫秒以保持向后兼容。该 超时时间现在也可以配置,用户也可以通过偏好设置 完全禁用(Firefox bug 1972271)。 - Marionette 中增加了与 CHIPS cookie(具有独立分区状态的 Cookie)交互的支持(Firefox bug 1972830)。
附加组件开发人员的变更
- 添加了
i18n.getPreferredSystemLanguages
方法来检索操作系统的首选区域设置。这补充了i18n.getAcceptLanguages
,后者返回浏览器中设置的区域设置的详细信息(Firefox bug 1888486)。 - 增加了按 cookie 存储 ID 过滤
tabs.onUpdated
结果的能力(Firefox bug 1960011)。
实验性 Web 功能
这些功能将在 Firefox 141 中发布,但默认情况下是禁用的。要尝试使用它们,请在 about:config
页面上搜索相应的偏好设置并将其设置为 true
。您可以在 实验性功能 页面上找到更多此类功能。
-
:active-view-transition
(Nightly):dom.viewTransitions.enabled
CSS
:active-view-transition
伪类允许你在单页应用 (SPA) 中,在 视图过渡 发生时对内容进行样式设置(Firefox bug 1956140)。