Chrome 62 Beta新特性都在这里了

1,033 阅读5分钟
发布人:网络观察小组 Ben Greenstein 和 Tarun Bansal

除非另外注明,否则,下面介绍的更改均适用于最新 Chrome Beta 渠道版(Android、Chrome 操作系统、Linux、Mac 和 Windows)。

Network Quality Estimator API

Network Infomation API 已在上一个版本的 Chrome 中推出,不过仅提供了给定用户连接类型下的理论网络速度。在这个版本中,API 已进行拓展,可以为开发者提供获取自客户的网络性能指标。开发者可以使用此 API 检查当前的预计往返时间和吞吐量,并在性能发生变化时收到通知。为了简化应用逻辑,即使实际连接为 WLAN 或以太网,此 API 也会以最接近的移动网络连接类型(例如 2G)汇总测得的网络性能。

使用这些网络质量信号,开发者可以根据网络限制量身定制内容。例如,在非常缓慢的连接上,开发者可以提供简化版本的页面来缩短页面加载时间。这些信号也将很快以 HTTP 请求标头形式提供并通过 Client Hints 启用。

OpenType 可变字体

OpenType 字体变化为网络带来了全新的排字能力。之前,一个字体文件仅包含一个字体系列实例,只有一种粗细(正常、加粗、黑色…)或一种拉伸(正常、紧缩、加宽…)。 图:动画形式的 AmstelvarDecovar 可变字体示例


凭借可变字体,网络上的自适应设计现在可以拓展到版式。OpenType 变化不仅可以提供一个连续的样式变化组合,也能节省空间和带宽,因为它们全部从一个压缩的字体文件加载。拉伸、样式和粗细可以使用相应的已更新 CSS 属性进行调整,更新的属性现在允许数字值。可以使用 font-variation-settings CSS 属性对粗细或宽度等变化轴参数进行精细调整。

从 DOM 元素捕获媒体

W3C Media Capture from DOM Elements API 现在允许网站以 MediaStream 形式直接从 HTMLMediaElements(即 <video> 和 <audio>)实时捕获内容。通过在 HTMLMediaElements 上调用 captureStream() 函数,流式传输内容可以录制并使用 WebRTC 远程发送、使用 WebAudio 处理,或者以各种 其他方式进行操作。

抱歉!您的浏览器不支持视频元素。在这里查看动画。 图:一个正在进行实时捕获并使用 WebRTC 流式传输到对等连接的 3D 渲染。

此版本中的其他特性

  • 现在,Chrome(iOS 版)也支持 Payment Request API
  • PaymentRequest 现在通过 PaymentDetailsModifier.data 支持按付款方式显示不同价格和订单项。
  • 非文档和 <body> 元素现在可以通过 document.rootScroller 获取视口滚动效果,例如隐藏网址栏或生成滚动闪烁。
  • <data><time> HTML 元素现在支持 DOM 接口,为开发者提供了一种机器可读的原生方式来存储客户端内容。
  • CSS 颜色解析器现在支持 #RRGGBBAA 与 #RGBA 格式的 8 位和 4 位十六进制颜色。
  • lookbehind 断言现在也已可用,加上之前的 lookahead,开发者可以使用正则表达式确保模式前添加或不添加内容,例如匹配美元金额,而不捕获美元符号。
  • 一项新的 WebVR 初始试用正在接受注册,它让开发者可以在网络上尝试构建丰富的虚拟现实体验。
  • 作为对之前公布的跟进,当用户在 HTTP 页面上输入数据以及在隐身模式下访问所有 HTTP 页面时,系统现在将显示“不安全”警告。
  • 开发者现在可以使用 s 标志在 ECMAScript 正则表达式中启用 dotAll 模式,从而让“.”匹配任何字符,包括行终止符。
  • 在 Chrome(Android 版)中上传图像的用户体验和多选择支持得到提升,多选择支持可以在任何调用 <input type="file"> 并使用 accept 属性指定仅接受图像的任何网站上触发。

弃用项和互操作性的改善

  • 在 macOS 上的原生按钮外观进行更新后,<input> 按钮和 <button> 元素的外观也进行了类似变更,这会影响 background-color、border、border-radius 和 padding CSS 属性的默认值。
  • 为了符合我们将强大功能仅限制于 HTTPS 上的政策,在 HTTP 连接上和跨域 iframes 内请求通知显示权限的功能已被移除。
  • 为了提高准确率和确保用户以他们希望的语言接收内容,在从语言设置生成 accept-language 标头时,基础语言现在将添加到“语言+区域”后面。
  • 为了提升用户体验和浏览器一致性,过渡鼠标事件现在将弃用悬停状态将在预期布局修改后更快速地更新
  • OfflineAudioContext 现在接受一个字典参数,以及采用三个独立参数的现有构造函数。
  • 为了与其他浏览器保持一致,RTCPeerConnection 上的 getStreamById 函数现在已移除
  • SharedWorker.workerStart 已被移除,它在其他主要浏览器上已被弃用和移除。
  • 为了更好地符合规范,<ol>.start 的默认值已设置为 1。