chrome 112版本信息

主要更新内容:

CSS 支持嵌套

我们最喜欢的CSS预处理器功能之一现在已内置到语言中:样式规则嵌套。

在嵌套之前,每个选择器都需要单独显式声明,这导致了重复、样式表冗余和作者体验的分散。
Before

1
2
3
4
5
6
7
8
9
10
11
.nesting {
color: hotpink;
}

.nesting > .is {
color: rebeccapurple;
}

.nesting > .is > .awesome {
color: deeppink;
}

 嵌套之后,可以继续选择器,并在其中分组相关的样式规则。

After

1
2
3
4
5
6
7
8
9
10
11
.nesting {
color: hotpink;

> .is {
color: rebeccapurple;

> .awesome {
color: deeppink;
}
}
}

嵌套通过减少选择器的重复使用,同时将相关元素的样式规则放置在一起,帮助开发人员。它还有助于样式与其所针对的HTML相匹配。

如果在示例中移除了.nesting组件,您可以删除整个组而无需在文件中搜索相关的选择器实例。

嵌套可以帮助实现以下目标:

  • 组织结构。
  • 减小文件大小。
  • 重构。
    这篇文章中,你可以找到有关如何充分利用CSS嵌套的提示,并在这里找到有关开发工具中嵌套的支持信息。

    <dialog> 初始焦点的算法更新

    HTML元素是表示对话框或其他交互式组件(如可关闭的警报或子窗口)的标准化方式,该组件需要显示在网页中所有其他内容的顶部。

这个HTML元素是创建此类内容的推荐方式,因为它的功能旨在提供更好和一致的可用性和可访问性。

其中一个功能是处理在打开对话框时哪个元素获得焦点,在这个版本中,选择该元素的算法已经更新。

从现在开始:

对话框焦点的步骤将考虑可键盘焦点的元素,而不是任何可获得焦点的元素。如果

元素具有autofocus属性设置,它本身将获得焦点。

元素本身作为后备选项获得焦点,而不是焦点“重置”到元素。

阅读文档以了解有关

元素的更多详细信息。

跳过service workers 中的空操作(No-op)fetch()处理程序,以加快导航速度

从Chrome 112版本开始,如果用户代理标识所有service worker的fetch监听器都是空操作(no-ops),则service worker的启动和监听器的派发将被省略,从而加快页面的导航速度。

该功能使这些页面的导航更快。

拥有fetch处理程序是渐进式网络应用程序(PWA)对于一个Web应用程序可安装性的要求之一。我们怀疑这可能是一些网站基本上具有空的fetch处理程序的原因。然而,启动一个service worker并执行一个空操作监听器只会增加开销,而没有带来可以通过正确的service worker实现的任何好处,比如缓存或离线功能。因此,Chrome现在跳过它们以改善导航。

作为这一变化的一部分,如果所有service worker的fetch监听器都是空操作,Chrome将显示控制台警告,并鼓励开发人员删除这些fetch监听器。

其他更多

  • document.domainsetter现已弃用。
  • WebView中的X-Requested-With头部废弃已有一个起源试验。
  • 开发工具中的录制器现在可以使用pierce选择器进行录制。