Chrome 99 Beta 版于 2022 年 2 月 3 日发布,预计将于 2022 年 3 月初成为稳定版。
移除了不安全的源上的 Battery Status API
不安全的源(例如 HTTP 网页或嵌入 HTTP 网页中的 HTTPS iframe)不再支持 Battery Status API。借助 Battery Status API,Web 开发者可以访问系统的电池电量以及系统是否正在充电等信息。这是一项已推出十多年的强大功能,因此最初设计时采用了不同的安全限制条件。
移除 font-family -webkit-standard
此版本的 Chrome 不再支持 font-family
值 "-webkit-standard"
。此值只是专有关键字 "-webkit-body"
的别名,之所以公开,是因为它继承自 WebKit。移除此属性可提高与 CSS 规范和 Firefox 的一致性。
移除 GamepadList
navigator.getGamepads()
方法现在会返回 Gamepad
对象的数组,而不是 GamepadList。Chrome 已不再支持 GamepadList
。这使得 Chrome 能够满足规格要求,并满足 Gecko 和 Webkit 的要求。如需一般关于游戏手柄的信息,请参阅使用游戏手柄玩 Chrome 恐龙游戏。
更新 WebCodecs 以符合规范
由于 WebCodecs 规范最近发生了更改,Chrome 移除了两项内容。
EncodedVideoChunkOutputCallback()
方法接受 EncodedVideoChunkMetadata
字典。之前,名为 temporalLayerId
的成员位于 EncodedVideoChunkMetadata.temporalLayerId
。符合规范,它现在位于 EncodedVideoChunkMetadata.SvcOutputMetadata.temporalLayerId
。
该规范要求 VideoFrame()
构造函数为不隐式具有时间戳的 CanvasImageSource
类型(例如 HTMLCanvasElement
)添加一个时间戳参数 (VideoFrameInit.timestamp
)。如果缺少时间戳,应生成 TypeError
,但 Chrome 之前将时间戳默认为零。这似乎有帮助,但如果您随后将 VideoFrame
发送到 VideoEncoder
,其中时间戳将用于指导比特率控制。
废弃政策
为了保持平台健康,我们有时会从运行其课程的网络平台中移除 API。我们移除 API 的原因可能有很多,例如:
- 它们已被较新的 API 取代。
- 我们更新了这些 API,以反映规范的变化,以便与其他浏览器保持一致。
- 这些是早期实验,在其他浏览器中从未实现过,因此可能会增加 Web 开发者的支持负担。
其中的部分变更只适用于极少数网站。为了提前缓解问题,我们会尽量提前通知开发者,以便他们进行必要的更改,确保网站正常运行。
Chrome 目前有一套 API 的弃用和移除流程,主要包括:
- 在 blink-dev 邮寄名单上公布。
- 当在网页上检测到使用情况时,请在 Chrome 开发者工具控制台中设置警告并提供时间刻度。
- 请耐心等待,监控该功能,然后在使用量下降时移除该功能。
您可以使用已弃用的过滤条件在 chromestatus.com 上查找所有已弃用功能的列表,并通过应用已移除的过滤条件查找已移除的功能。我们还会尝试在这些博文中总结一些更改、推理和迁移路径。