Chrome 78 现已发布!
我是 Pete LePage,让我们一起深入了解 Chrome 78 中面向开发者的新功能!
CSS Properties 和 Values API
CSS 变量(在技术层面称为自定义属性)非常强大。借助它们,您可以在整个 CSS 中定义和使用自己的属性。但是,自定义属性不仅仅是简单的搜索和替换。
html {
--my-color: green;
}
.thing {
color: var(--my-color);
}
如果您为颜色使用了变量,但将网址作为值进行分配,系统会静默舍弃该规则。借助 CSS 属性和值 API,您可以为自定义属性定义类型和默认回退值。
html {
--my-color: url(‘not-a-color'); // Oops, not a color!
}
.thing {
color: var(--my-color);
}
注册属性只需调用 window.CSS.registerProperty()
并提供要定义的属性的名称,以及该属性的类型(如果应继承),以及其初始值即可。
window.CSS.registerProperty({
name: '--my-color',
syntax: '<color>',
inherits: false,
initialValue: 'black',
});
如需了解完整详情,请参阅 web.dev 上 Sam Richard 撰写的利用 Houdini 的新 API 打造更智能的自定义媒体资源一文。
更新更新的 Service Worker
现在会对 importScripts()
导入的 Service Worker 脚本执行逐字节检查。过去,若要强制已安装的 Service Worker 获取对导入脚本所做的更改,唯一的方法是更改导入脚本的网址,通常是通过在网址中添加 semver 值或哈希来实现。
importScripts('https://example.com/v1.1.0/index.js');
importScripts('https://example.com/index.abcd1234.js');
从 Chrome 78 开始,每次对顶级服务工作器文件执行更新检查时,Chrome 还会检查所有导入的脚本的内容是否已更改。如果有,系统会触发完整的服务工作线程更新流程。这使得 Chrome 符合规范,并与 Firefox 和 Safari 的做法保持一致。
Jeff 在默认情况下,服务工作器更新更快一文中介绍了所有详细信息,包括一些关于 HTTP 缓存如何影响更新周期的重要知识。
新的源试用
通过源代码试用,我们可以验证实验性功能和 API,您也可以就这些功能在更广泛部署中的易用性和有效性提供反馈。
实验性功能通常仅在启用标志后可用,但当我们为某项功能提供源试用时,您可以注册该源试用,为您源站上的所有用户启用该功能。
通过选择参与源试用,您可以构建演示版和原型,让您的 Beta 版测试用户可以在试用期间试用这些内容,而无需在 Chrome 中切换任何特殊标志。
如需详细了解源代码试用,请参阅面向 Web 开发者的源代码试用指南。您可以在 Chrome 源代码试用页面上查看正在进行的源代码试用列表,并注册参与这些试用。
Native File System
Chrome 78 开始对原生文件系统 API 进行源试用,预计将持续到 Chrome 80。
借助 Native File System API,开发者可以构建功能强大的 Web 应用,以便与用户本地设备上的文件进行交互。用户向 Web 应用授予访问权限后,此 API 让 Web 应用可以直接读取用户设备上的文件和文件夹内容,或者保存对这些内容的更改。
我非常期待这将带来全新的体验,这样我便无需再“上传”或“下载”要处理的文件。请参阅我关于原生文件系统的文章,了解所有详细信息,包括代码、演示以及我们为保障用户安全而采取的措施。
短信接收器
SMS Receiver API 的源试用从 Chrome 78 开始,预计会持续到 Chrome 80。
SMS Receiver API 现已推出源试用版,可让您的 Web 应用接收格式特殊的短信,以便应用的来源使用。这样一来,您就可以通过编程方式从短信中获取动态密码,并更轻松地为用户验证电话号码。
Eiji 写道使用 SMS Receiver API 在网络上验证电话号码,在其中提供了所有详细信息,并说明了如何注册源试用。
2019 年 Chrome 开发者峰会
别忘了在 11 月 11 日和 12 日收看 Chrome 开发者峰会,该峰会将在 Chrome 开发者 YouTube 频道上进行直播。
深入阅读
本文仅介绍了一些主要亮点。如需了解 Chrome 78 中的其他变更,请点击以下链接。
- Chrome DevTools (78) 中的新变化
- Chrome 78 弃用和移除的功能
- ChromeStatus.com 上有关 Chrome 78 的更新
- Chrome 78 中 JavaScript 的新变化
- Chromium 源代码库更改列表
订阅
如需及时了解我们的最新视频,请订阅我们的 Chrome 开发者 YouTube 频道,这样每当我们发布新视频时,您就会收到电子邮件通知,或者您也可以将我们的 RSS Feed 添加到 Feed 阅读器中。
我是 Pete LePage,Chrome 79 发布后,我会立即为您介绍 Chrome 中的新变化!