Web 开发人员的变更
HTML
- 现在,在
<base>元素的href属性中,禁止使用data:和javascript:URL(Firefox bug 1850967)。
CSS
JavaScript
- 以下
Set方法现已支持(Firefox bug 1868423):Set.prototype.intersection()— 返回一个新集合,其中包含此集合和给定集合中的所有元素。Set.prototype.union()— 返回一个新集合,其中包含此集合和给定集合中的所有元素。Set.prototype.difference()— 返回一个新集合,其中包含此集合中存在但不在给定集合中的元素。Set.prototype.symmetricDifference()— 返回一个新集合,其中包含仅存在于此集合或给定集合中,但不存在于两者中的元素。Set.prototype.isSubsetOf()— 返回一个布尔值,指示此集合的所有元素是否都存在于给定集合中。Set.prototype.isSupersetOf()— 返回一个布尔值,指示给定集合的所有元素是否都存在于此集合中。Set.prototype.isDisjointFrom()— 返回一个布尔值,指示此集合是否与给定集合没有共同元素。
SVG
- CSS
lh和rlh行高单位,最初在 CSS Firefox 120 中支持,现在也支持在 SVG 中使用。它们可用于 CSS 属性值stroke-width: 0.5lh和 SVG 属性值stroke-width="0.5lh"。(Firefox bug 1892089)。
安全
- Firefox 现在将在安全内容中自动将对音频、视频和图像子资源的 HTTP 请求升级为 HTTPS,并阻止其他类型的媒体的 HTTP 请求。如果升级后的请求因媒体主机不支持 HTTPS 而失败,则该媒体将无法找到。这确保了如果内容通过 HTTPS 安全地提供,那么其所有子资源也将安全地提供或根本不提供。由于页面不再显示混合内容,Firefox 也移除了用于指示页面包含混合内容的图标,并且混合内容控制台警告已替换为指示请求何时被升级的警告。(Firefox bug 1779757)。
API
- 异步 剪贴板 API 现在已完全支持。
ClipboardItem接口,以及Clipboard接口的read()和write()方法已启用。(Firefox bug 1887845,Firefox bug 1858788)。 - 现在,所有 HTML 字符引用都在 Web Video Text Tracks Format (WebVTT) 提示、标题文本、注释、注解等中得到支持。(Firefox bug 1395924)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
通用
- 修复了 WebDriver 经典版和 BiDi 中 `wheel` 操作的支持,以正确处理 `ctrl`、`shift` 等修饰键。(Firefox bug 1885542)。
WebDriver BiDi
- 添加了 `permissions.setPermission` 命令,允许更新浏览器权限(例如 `geolocation`)。权限模块是 WebDriver BiDi 规范的扩展,在 Permissions 规范中定义(Firefox bug 1875065)。
- 为 `browsingContext.locateNodes` 命令添加了对 a11y 属性 `name` 和 `role` 的支持,用作定位器(Firefox bug 1885577)。
- 为 `browsingContext.setViewport` 添加了对 `devicePixelRatio` 参数的支持,该参数允许模拟具有不同设备像素比的屏幕行为(Firefox bug 1857961)。
- 改进了 `browsingContext.navigate`,以避免导致不必要等待的竞态条件,从而在解析命令之前延迟。(Firefox bug 1894305)。
Marionette
- 修复了位于禁用字段集中的元素的 `WebDriver:ElementClear`(Firefox bug 1863266)。
- 修复了 `WebDriver:GetElementText` 未能正确大写包含下划线文本的 bug(Firefox bug 1888004)。
- 修复了 `WebDriver:SwitchToFrame` 中的一个 bug,该 bug 在标签页导航过程中可能失败(Firefox bug 1817820)。
附加组件开发人员的变更
- Firefox 现在会安装指定 manifest.json
"incognito"键值为"split"的扩展。但是,由于 Firefox 不支持 split 模式,并且为了保持隐私浏览的完整性,"split"被视为"not_allowed"值的别名(Firefox bug 1876924)。 management.ExtensionInfo现在在使用企业策略安装附加组件时返回"admin"的install_type(Firefox bug 1895341)。- 向
declarativeNetRequest.getDynamicRules和declarativeNetRequest.getSessionRules添加了 `filter` 参数,允许通过 ID 过滤返回的规则列表(Firefox bug 1820870)。 - Manifest V3 扩展的
host_permissions现在会在安装时显示给用户(Firefox bug 1889402)。但是,如果扩展更新请求新的主机权限,则这些权限不会显示给用户。请参阅(Firefox bug 1893232)。 - 添加了
runtime.getContexts函数,该函数返回有关与扩展关联的上下文的信息(Firefox bug 1875480)。 - 对于 Manifest V3 扩展,如果在 `_execute_action` 没有用户定义的快捷方式的情况下,会回退到用户定义的快捷方式来处理特殊的
_execute_browser_action命令。这使得从 Manifest V2 迁移到 V3 的扩展能够保留浏览器操作的用户自定义快捷方式(Firefox bug 1797811)。 - 带有嵌入式 选项页面的扩展现在支持根据用户偏好自动切换到暗主题(Firefox bug 1888866)。
实验性 Web 功能
这些功能已在 Firefox 127 中发布,但默认禁用。要尝试使用它们,请在 `about:config` 页面搜索相应的首选项并将其设置为 `true`。您可以在 实验性功能页面找到更多此类功能。
-
CSS
letter-spacing的对称间距:layout.css.letter-spacing.model。CSS
letter-spacing属性现在会将指定的字母间距均匀地分配到每个字符的两侧。这与当前将间距主要添加到一侧的行为不同(Firefox bug 1891446)。 -
相对颜色中的
calc()颜色通道支持:layout.css.relative-color-syntax.enabled。CSS
calc()函数现在可以解析 相对颜色中的颜色通道(Firefox bug 1889561)。 -
JavaScript
Float16Array类型数组:javascript.options.experimental.float16array。现在支持
Float16Array类型数组,以及用于从DataView读取和设置Float16Array值的DataView.prototype.getFloat16()和DataView.prototype.setFloat16(),以及可用于将数字四舍五入到 16 位的静态方法Math.f16round()。新类型对于与 GPU 共享数据很有用,尤其是在权衡精度以换取内存占用有意义的情况下。(Firefox bug 1833647。)