全新推出:11 月份的网络平台

了解 2024 年 11 月已在稳定版和 Beta 版网络浏览器中推出的一些有趣功能。

发布时间:2024 年 11 月 27 日

2024 年 11 月,Firefox 133Chrome 131 已发布稳定版。本文将介绍 Web 平台中新增的功能。

Firefox 133 支持 WebCodecs APIImageDecoderImageTrackListImageTrack 接口,支持从主线程和工作器线程解码图片。

Browser Support

  • Chrome: 94.
  • Edge: 94.
  • Firefox: 133.
  • Safari: not supported.

Source

WorkerNavigator permissions 属性

Firefox 133 还支持 WorkerNavigator.permissions

Browser Support

  • Chrome: 43.
  • Edge: 79.
  • Firefox: 133.
  • Safari: 16.4.

Source

@page 边距框

Chrome 131 在打印网页文档或将其另存为 PDF 文件时添加了对页边距框的支持。

借助 @page 边距框,您可以定义页面边距区域中的内容,例如提供自定义页眉和页脚,而不是使用浏览器生成的内置页眉和页脚。

还支持使用计数器进行页码编排。 该规范定义了两个特殊的计数器名称:page 用于表示当前页码,pages 用于表示总页数。

如需了解详情,请参阅向使用 CSS 打印的页面的边线添加内容

Browser Support

  • Chrome: 131.
  • Edge: not supported.
  • Firefox: not supported.
  • Safari: not supported.

在相对颜色语法中支持 currentcolor

Chrome 131 允许 CSS 中的相对颜色(使用 from 关键字)使用 currentcolor 作为基准。这样,您就可以根据元素的文本颜色,为该元素的边框、阴影或背景设置互补色。

Uint8Array 方法

Firefox 133 添加了许多新的 Uint8Array 方法,以便在 base64- 与十六进制编码的字符串和字节数组之间轻松转换:

  • Uint8Array.fromBase64()Uint8Array.fromHex()
  • Uint8Array.prototype.setFromBase64()Uint8Array.prototype.setFromHex()
  • Uint8Array.prototype.toBase64()Uint8Array.prototype.toHex()

Browser Support

  • Chrome: not supported.
  • Edge: not supported.
  • Firefox: 133.
  • Safari: 18.2.

Source

专用工作器上的 WebHID

Chrome 131 在专用 worker 上下文中启用 WebHID。这样,您就可以在单独的线程中执行大量 I/O 操作并处理来自 HID 设备的数据,从而减少对主线程的性能影响。

Browser Support

  • Chrome: 131.
  • Edge: 131.
  • Firefox: not supported.
  • Safari: not supported.

Beta 版浏览器

通过浏览器 Beta 版,您可以预览下一个稳定版浏览器中将推出的内容。在该版本面向全球发布之前,您可以先测试可能会影响您网站的新功能或移除的功能。新版 Beta 版为 Firefox 134Safari 18.2Chrome 132。这些版本为该平台带来了许多出色的功能。如需了解所有详情,请参阅版本说明。下面仅列出了其中的几个亮点。

Safari 18.2 包含本文前面提到的已在 Firefox 中发布的 Uint8Array 方法,以及本月在 Chrome 中发布的 @page 边距描述符。其中列出了许多新的 CSS 功能,包括对跨文档视图转换、ruby-aligntext-box-trim 的支持。

Chrome 132 支持为 writing-mode CSS 属性使用 sideways-rlsideways-lr 关键字、为 <dialog> 使用切换事件,以及为 RequestResponse 接口使用 bytes() 方法。

Firefox 134 目前缺少详细信息,但似乎包含 Safari 18.2 Beta 版中也包含的 Promise.try