Chrome 75 中的新功能

Chrome 75 新增了对以下功能的支持:

我是 Pete LePage,一起来深入了解下,看看 Chrome 75 为开发者提供了哪些新功能!

更新日志

此处仅涵盖部分主要亮点,请点击以下链接,了解 Chrome 75 中的其他变化。

关于低延迟 canvas 上下文的提示

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

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

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

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 Developers YouTube 频道。每当我们发布新视频时,您都会收到电子邮件通知。

我叫 Pete LePage

照片来源