Chrome 75 中的新功能

在 Chrome 75 中,我们添加了对以下内容的支持:

我是 Pete LePage,让我们一起深入了解 Chrome 75 中开发者有哪些新变化!

更新日志

本文仅介绍了一些主要亮点,如需了解 Chrome 75 中的其他变更,请访问以下链接。

针对低延迟 canvas 上下文的提示

使用画布元素在屏幕上绘制需要页面与 DOM 同步图形更新。这种同步有时可能会导致延迟。 例如,在绘图应用中,延迟时间超过 50 毫秒可能会干扰手眼协调,使应用难以使用。

创建 canvas 上下文时,desynchronized 提示使用其他代码路径,这会绕过常规的 DOM 更新机制。该提示会告知系统尽可能跳过尽可能多的合成。在某些情况下,canvas 的底层缓冲区会直接发送到屏幕的显示控制器。这样可以消除使用渲染程序合成器队列所导致的延迟。

使用非同步提示很简单,只需在创建画布时将 desynchronized: true 添加到选项对象即可。

const opts = { desynchronized: true };
const ctx = canvas.getContext('2d', opts);

如需了解详情(包括如何进行功能检测),请参阅 Joe 撰写的使用去同步提示实现低延迟渲染一文。

使用 Web Share API 分享文件

借助 Web Share API,您可以插入操作系统提供的分享服务,从而轻松与用户设备上安装的其他应用分享网页和应用。

在 Chrome 75 中,Web Share API 现在支持共享文件!我对此特别兴奋,因为这让应用可以更轻松地分享照片、视频等内容。Squoosh 将支持此功能,以便您在压缩文件后分享文件。Web Share API 目前支持共享音频文件、图片、视频和文本文档

最好使用功能检测来查看 Web Share API 是否受支持,如果不支持,则回退到您的传统机制。您可以使用 navigator.canShare 检查是否支持文件共享。


const webShareAvailable = {
  links: 'share' in navigator,
  files: 'canShare' in navigator,
};

如果 navigator.canShare 返回 true,则表示支持共享这些文件,因此您可以调用 navigator.share,并传递一个包含要共享的文件数组的对象。Chrome 会打开系统分享菜单,并显示可用于分享文件的已安装应用的列表。

if (webShareAvailable.files) {
  const shareData = { files: filesArray };
  if (navigator.canShare(shareData)) {
    shareData.title = 'Squooshed files.';
    navigator.share(shareData)
      .then(...)
      .catch(...);
  } else {
    // File sharing not supported
  }
}

请试用演示版,并参阅使用网页共享功能共享文件一文了解完整详情。

数字分隔符

数字字面量现在允许使用下划线 (_, U+005F) 作为分隔符,以提高可读性。例如,数学运算会将 1_000_000_000 解读为等同于 1000000000

下划线只能出现在数字之间,且不允许连续使用下划线。因此,3._14_2.711.6__2 等字面量是非法的。

2019 年 Google I/O 大会已圆满落幕

如果您未能参加 I/O 大会,或者参加了大会,但未能观看所有演讲,请访问 Chrome 开发者 YouTube 频道,在 2019 年 Google I/O 大会上的 Web 内容播放列表中观看所有演讲。

订阅

如果您想随时了解我们视频的最新动态,请订阅我们的 Chrome 开发者 YouTube 频道,这样,每当我们发布新视频时,您都会收到电子邮件通知。

我是 Pete LePage,Chrome 76 发布后,我会立即为您介绍 Chrome 中的新变化!

照片来源