Chrome 75 中的新功能

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

我是 Pete LePage,让我们深入了解一下 Chrome 75 中面向开发者的新变化!

更新日志

本文仅介绍了一些重要亮点,请点击以下链接,了解 Chrome 75 中的其他变化。

低延迟 canvas 上下文的提示

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

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

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

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

如需了解更多详情(包括如何进行功能检测),请参阅 Joe 的文章使用 desynchronized 提示进行低延迟渲染。

使用 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
  }
}

请试用演示,并查看使用 Web Share 分享文件一文,了解完整详情。

数字分隔符

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

下划线只能出现在数字之间,并且不允许连续使用下划线。因此,3._14、_2.71 或 1.6__2 等字面量是非法的。

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

如果您没有参加 I/O 大会,或者您参加了但没有观看所有演讲,可以前往 Chrome 开发者 YouTube 频道,在 Web at Google I/O 2019 播放列表中观看所有演讲。

订阅

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

我是 Pete LePage,Chrome 76 一经发布,我就会在这里为您介绍 Chrome 的新变化!

照片来源