除非另有说明,否则以下描述的更改适用于适用于 Android、Chrome OS、Linux、macOS 和 Windows 的 Chrome beta 通道版本的更新。你可以通过文中的链接或访问 ChromeStatus.com 上的列表更详细地了解此处列出的功能。 Chrome 90 已于 2021 年 3 月 11 日发布 Beta 版。
AV1 编码器
Chrome 桌面版目前内置了 AV1 编码器。该编码器经过我们的专门优化,可与 WebRTC 集成,用于视频会议。AV1 编码的优点包括:
- 比其他类型的视频编码有更好的压缩效率,能够减少带宽消耗并提高视觉质量
- 能够在带宽非常低的网络上为用户启用视频(以 30kbps 甚至更低的速度提供视频传送)
- 与 VP9 等其他编解码器相比,屏幕共享效率得到了显着提高。
这是对 WebRTC 的一个重要补充,它最近也成为了 W3C 和 IETF 官方标准。
Origin Trails 原始测试
此版本的 Chrome 引入了所谓的“原始测试”,使我们可以在浏览器中尝试新功能,并向 Web 标准社区提供有关可用性,实用性和有效性的反馈。要注册 Chrome 当前支持的任何原始测试(包括以下所述),请访问 Chrome 原始测试控制台。要了解有关 Chrome 中的原始测试的更多信息,请访问 Web 开发人员的原始测试指南。Microsoft Edge 与 Chrome 分开运行其自己的原始测试,若要了解更多信息,请参见 Microsoft Edge Origin Trials 开发人员控制台。
新的原始测试内容
getCurrentBrowsingContextMedia()
mediaDevices.getCurrentBrowsingContextMedia()
方法允许我们使用当前选项卡的视频(和可能的音频)捕获 MediaStream
,类似于 getDisplayMedia()
。但是与getDisplayMedia()
不同,调用此新方法将为用户提供一个简单的接受拒绝对话框。如果用户接受,则会捕获当前选项卡,二在所有其他的表现中 getCurrentBrowsingContextMedia()
与 getDisplayMedia()
完全相同。该原始测试预计将在 Chrome 92 中启动。
MediaStreamTrack
可插入流(也称为 Breakout Box “分线盒”)
这是用于操纵 MediaStreamTracks
承载的原始媒体的 API,可操纵例如相机,麦克风,屏幕截图或编解码器的解码器部分,并且会输出编解码器的解码器部分。它使用 WebCodecs
接口表示原始媒体帧,并使用流公开它们,类似于 WebRTC 可插入流 API 公开来自 RTCPeerConnections
的编码数据的方式,旨在支持以下用例:
- Funny Hats:指在编码之前和解码之后对媒体的处理,以提供诸如去除背景等效果,有趣的帽子,声音效果。
- 机器学习:指的是诸如实时对象识别/注释之类的应用程序。
该原始测试预计将在 Chrome 92 中启动。
WebAssembly 异常处理
WebAssembly 现在提供了异常处理功能。异常处理允许代码在引发异常时中断控制流。异常可以是 WebAssembly 模块已知的任何异常,也可以是由调用的导入函数引发的未知异常。预计该原始测试将在 Chrome 94 中启动。
启动的原始测试
Chrome 原始测试部分的以下部分已经启动:
WebXR AR 照明估算
照明估算允许站点在 WebXR 会话中查询环境照明条件的估算。这样既暴露了代表环境照明的球形谐波,又暴露了代表“反射”的立方体贴图纹理。添加“照明估计”可以使您的模型更自然,并使其更适合用户的环境。
此版本中的其他功能更新
CSS
aspect-ratio
如果在任何元素上仅指定宽度或高度中的一个,则 aspect-ratio
属性会自动计算其他尺寸。在用于动画时,此属性会默认设置为不可插值形式(这意味着它会捕捉到目标值),用于提供一个从一个长宽比到另一个长宽比的平滑插值。
自定义状态的伪类
我们现在将自定义元素的状态通过 CSS State 伪类公开了出来。内置元素的状态会根据用户的交互作用和其他因素随时间变化,并借助伪类向开发者们公开了出来。例如,某些表单控件具有 invalid
状态,而该状态会通过 :invalid
伪类公开出来。由于自定义元素也具有状态,因此以类似于内置元素的方式公开其状态是有意义的。
实现 appearance
和 -webkit-appearance
的 auto
值
以下表单控件的 CSS 属性 appearance
和 -webkit-appearance
的默认值更改为 auto
。
<input type=color>
and<select>
- 仅限安卓:
<input type=date>
、<input type=datetime-local>
、<input type=month>
、<input type=time>
以及<input type=week>
请注意,这些控件的默认呈现没有被更改。
overflow: clip
属性
overflow
的 clip
值会让盒容器的内容被裁剪到盒的溢出部分的边缘,并且不会为这个元素再提供滚动接口,并且内容不能在被用户或用编程方式进行滚动。此外,该框不被视为滚动容器,并且不会启动新的格式设置上下文。此值的性能比 overflow:hidden
更好。
overflow-clip-margin
属性
overflow-clip-margin
属性允许指定在裁剪之前允许元素超出边界的距离。它还允许开发人员扩展剪辑边界。这对于例如墨水溢出这类的情况特别有用。
Permissions-Policy
标头
Permissions-Policy
HTTP 标头替换了现有的 Feature-Policy
标头”,用于控制权限和提供强大的功能。这个标头允许网站更严格地限制授予要素来源的访问权限。
Chrome 74 中引入的 Feature Policy
API,最近已重命名为 Permissions Policy
,HTTP 标头也被重命名了。同时,社区已基于 HTTP 的结构化字段值为之确定了一种新语法。
通过 Cross-Origin-Read-Blocking
保护 application/x-protobuffer
通过将 application/x-protobuffer
添加到 Cross-Origin-Read-Blocking
所使用的永不嗅探的 MIME 类型列表中,我们保护它免受推测性执行攻击。application / x-protobuf
已经被保护为永不监听的 MIME 类型。application/x-protobuffer
是另一种常用的 MIME 类型,被 protobuf 库定义为 ALT_CONTENT_TYPE
。
在文件系统访问 API 中寻找文件末尾
当数据传递到将扩展到文件末尾的 FileSystemWritableFileStream.write()
时,现在会被写入 0x00
(NUL
)扩展文件。借此我们可以创建稀疏文件,并在接收到乱序的待写数据时大大简化了将内容保存到文件的过程。如果没有此功能,那么会接收到混乱的文件内容(例如 BitTorrent 下载)的应用程序将不得不提前或在编写过程中需要时手动调整文件大小。
StaticRange 构造函数
当前,Range
是 Web 开发者唯一可用的可构造范围类型。但是,Range
对象是可变的,让它们的维护变得困难。对于每个 DOM 树的更改,所有受影响的 Range
对象都需要更新。 新的 StaticRange
对象则不会这样。它代表的轻量级范围类型,维护难度比 Range
轻松不少。StaticRange
的可构造使 Web 开发者可以将它们用于不需要在每次 DOM 树更改时都进行更新的范围。
支持在 <picture>
的 <source>
元素上指定宽度和高度
<picture>
元素内的 <source>
元素现在支持使用 width
和 height
属性定义宽高,让 Chrome 浏览器可以为 <picture>
元素计算宽高比。这与 <img>
、<canvas>
和 <video>
元素的类似行为相同。
WebAudio 的 OscillatorOptions.periodicWave
不可为空
创建新的 OscillatorNode
对象时,我们不可以再将 periodicWave
设置为 null
。该值在传递给 OscillatorNode()
构造函数的 options
对象上设置,而现在 WebAudio 规范不允许将此值设置为 null
。Chrome 与 Firefox 同时践行了这个规则。
JavaScript 的更新
此版本的 Chrome 内置了 V8 JavaScript 引擎的 9.0 版。特别包含了以下列出的更改。我们还可以在 V8 发行说明中找到完整的最新功能列表:
数组、字符串和 TypedArrays 的相对索引方法
Array
、String
和 TypedArray
现在支持 at()
方法,该方法支持带负数的相对索引。例如,下面的代码返回给定数组中的最后一项。
let arr = [1,2,3,4];
arr.at(-1);
弃用和移除
此版本的 Chrome 引入了以下弃用和删除项。访问 ChromeStatus.com,以获取当前弃用和以前的移除项。
删除内容安全策略指令“插件类型”
plugin-types
指令允许开发人员去限制可以通过 <embed>
或 <object>
的 HTML 元素加载的插件的类型。这使开发人员可以在其页面中阻止 Flash 的加载。不过目前 Adobe 以及 Chrome 都已停止对 Flash 的支持,实际上我们不再需要此策略指令。
删除 WebRTC RTP 数据通道
Chrome 浏览器已删除了对非标准 RTP 数据通道的支持。用户应改用基于标准 SCTP 的数据通道。
为 navigator.plugins
和 navigator.mimeTypes
返回 null
Chrome 浏览器中 navigator.plugins
和 navigator.mimeTypes
的调用会返回 null
。随着 Flash 的移除,我们不再需要为这些属性返回任何内容。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!