在 Chrome 74 中,我们添加了对以下内容的支持:
还有更多功能!
我是 Pete LePage。我们来深入了解一下 Chrome 74 中面向开发者的新功能!
更新日志
本文仅介绍了一些主要亮点,如需了解 Chrome 74 中的其他变更,请访问以下链接。
- Chrome DevTools (74) 中的新变化
- Chrome 74 弃用和移除的功能
- ChromeStatus.com 上有关 Chrome 74 的更新
- Chrome 74 中 JavaScript 的新变化
- Chromium 源代码库更改列表
私有类字段
类字段可简化类语法,因为您无需仅为了定义实例属性而使用构造函数。在 Chrome 72 中,我们添加了对公共类字段的支持。
class IncreasingCounter {
// Public class field
_publicValue = 0;
get value() {
return this._publicValue;
}
increment() {
this._publicValue++;
}
}
我说过,私有类字段正在开发中。很高兴地通知您,私有类字段已在 Chrome 74 中推出。新的私有字段语法与公共字段类似,只不过您需要使用 #
(井号)将字段标记为私有。将 #
视为字段名称的一部分。
class IncreasingCounter {
// Private class field
#privateValue = 0;
get value() {
return this.#privateValue;
}
increment() {
this.#privateValue++;
}
}
请注意,private
字段就是私有字段。它们在类内可用,但在类正文之外不可用。
class SimpleClass {
_iAmPublic = 'shared';
#iAmPrivate = 'secret';
doSomething() {
...
}
}
如需详细了解公共类和私有类,请参阅 Mathias 关于类字段的文章。
prefers-reduced-motion
部分用户报告在查看视差滚动、缩放和其他动画效果时会感到头晕。为解决此问题,许多操作系统都提供了一个选项,可尽可能减少动作。
Chrome 现在提供媒体查询 prefers-reduced-motion
(属于媒体查询第 5 级规范),可让您检测何时开启此选项。
@media (prefers-reduced-motion: reduce)
假设我有一个注册按钮,它会通过轻微的动作吸引用户的注意力。借助新查询,我可以仅为按钮关闭动作感应。
button {
animation: vibrate 0.3s linear infinite both;
}
@media (prefers-reduced-motion: reduce) {
button {
animation: none;
}
}
请参阅 Tom 撰写的文章 Move Ya! 或者,如果用户选择了“减少动画”,则不执行此操作!了解详情。
CSS transition
事件
CSS 转换规范要求在转换加入队列、开始、结束或取消时发送转换事件。其他浏览器已经支持这些事件一段时间了…
但直到现在,Chrome 都不支持这些功能。在 Chrome 74 中,您现在可以监听以下事件:
transitionrun
transitionstart
transitionend
transitioncancel
通过监听这些事件,您可以跟踪或更改运行转换时的行为。
Feature Policy API 更新
借助功能政策,您可以有选择地启用、停用和修改 API 和其他 Web 功能的行为。这可以通过 Feature-Policy 标头或 iframe 上的 allow 属性来实现。
Feature-Policy: geolocation 'self'
<iframe ... allow="geolocation self">
</iframe>
Chrome 74 引入了一组新的 API,用于检查启用了哪些功能:
- 您可以获取
document.featurePolicy.allowedFeatures()
允许使用的功能列表。 - 您可以使用
document.featurePolicy.allowsFeature(...)
检查是否允许使用特定功能。 - 此外,您还可以使用
document.featurePolicy.getAllowlistForFeature()
获取当前网页上允许使用指定功能的网域列表。
如需了解详情,请参阅“功能政策简介”博文。
等等!
当然,这只是 Chrome 74 中面向开发者的部分变更,还有许多其他变更。我个人非常期待 KV Storage,这是一种超快的异步键值对存储服务,目前可作为源代码试用版提供。
Google I/O 大会即将开幕!
别忘了,Google I/O 大会(5 月 7 日至 9 日)即将开幕,届时我们将为您带来许多精彩的新内容。如果您无法参会,我们会对所有会议进行直播,并在之后将其发布到 Chrome Developers YouTube 频道。
订阅
如需及时了解我们的最新视频,请订阅我们的 Chrome Developers YouTube 频道,这样每当我们发布新视频时,您就会收到电子邮件通知。
我是 Pete LePage,Chrome 75 发布后,我会立即为您介绍 Chrome 中的新变化!