Chrome 115 有哪些值得关注的新特性?

这篇具有很好参考价值的文章主要介绍了Chrome 115 有哪些值得关注的新特性?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天带大家一起来了解一下 Chrome 115 值得关注的新特性。

滚动动画

用滚动驱动的动画是网站上非常常见的用户体验模式,比如当页面向前或向后滚动时,对应的动画也会向前或向后移动。

比如下面图中这种比较常见的,页面顶部的进度条随着滚动而变化:
Chrome 115 有哪些值得关注的新特性?,chrome,前端

另外还可以依靠页面滚动来驱动页面上的元素淡入淡出:
Chrome 115 有哪些值得关注的新特性?,chrome,前端

一项新的 Scroll-driven Animations 规范定义了两种可供我们使用的新时间线类型:

  • Scroll Progress Timeline: 链接到滚动容器沿特定轴的滚动位置的时间线。
  • View Progress Timeline: 链接到特定元素在其滚动容器内的相对位置的时间线。
    下面是一个代码示例,它使用匿名的滚动进度时间轴创建固定在页面顶部的阅读进度指示器。
<body>
  <div id="progress"></div>
  你好,code 嘴巴嘟嘟
</body>

@keyframes grow-progress {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

#progress {
  position: fixed;
  left: 0; top: 0;
  width: 100%; height: 1em;
  background: red;

  transform-origin: 0 50%;
  animation: grow-progress auto linear;
  animation-timeline: scroll();
}

另外我们也可以使用 JavaScript 来创建一个滚动进度时间线,我们可以创建一个新的 ScrollTimeline 实例,它接受以下两个参数:

  • source:对要跟踪其滚动条的元素的引用,用于 document.documentElement 定位根滚动条。
  • axis:确定要跟踪的轴,与 CSS 变体类似,可接受的值为 block、inline、x、y。
const tl = new ScrollTimeline({
  source: document.documentElement,
});

要将其附加到 Web 动画,可以将它作为时间轴属性传递,并省略任何 duration 属性。

$el.animate({
  opacity: [0, 1],
}, {
  timeline: tl,
});

下面是使用 JavaScript 来创建阅读进度指示器对应的代码:

const $progressbar = document.querySelector('#progress');

$progressbar.style.transformOrigin = '0% 50%';
$progressbar.animate(
  {
    transform: ['scaleX(0)', 'scaleX(1)'],
  },
  {
    fill: 'forwards',
    timeline: new ScrollTimeline({
      source: document.documentElement,
    }),
  }
);

CSS display 多值语法

CSS Display Module Level 3 描述了 display 属性的多关键字语法,也可以称为 “双值语法” 或 “多值语法”。
Chrome 115 有哪些值得关注的新特性?,chrome,前端
我们最开始学习的 CSS 之一就是一些元素是块级元素,一些元素是内联元素。例如

默认是块级元素, 是内联元素。使用 display 属性,我们可以在块和内联之间切换。例如,要使标题内联,我们可以使用以下 CSS:

h1{
  display:inline;
}

最近,CSS 又相继支持了 Grid 和 Flexbox 布局。要使用这些布局,我们也要使用 display 属性的值 —— display:griddisplay:flex。只有当 display 的值改变时,子元素才会成为 GridFlex 元素,并开始响应GridFlexbox 规范中的其他属性。改变元素的 display 值会改变其直接子级的格式化上下文。

但是,Grid Flexbox元素有内部和外部的 display 类型。外部的 display 类型描述元素是块级还是内联,内部的显示类型描述容器中的子元素应该如何表现。

因此,display 多关键字语法允许分别指定内外两个 display 类型。简单来说,它允许我们这样写:

display: block flex;

创建一个块级容器,具有 Flex 子元素。

display: inline flex;

创建一个内联容器,具有 Flex 子元素。

而这个新语法也会向后兼容以前的单关键字语法。

Fenced Frames

在很多业务场景中,我们可能会使用 iframe 去嵌入一些智能推荐的广告。

我们的顶级站点可以读取到 iframe的 src 属性,这就意味着顶级站点可以从广告的 URL 推断有关访问者兴趣的信息,这在一定程度上就泄露了用户隐私。

Fenced frames 是一项隐私沙盒提案(https://github.com/WICG/fenced-frame),它建议顶级站点应该对数据进行分区。

Chrome 115 有哪些值得关注的新特性?,chrome,前端
使用 Fenced frames ,我们依然可以显示与访问者兴趣相匹配的广告,但顶级站点是无法从 frame 的 src 属性中推断出用户的兴趣信息的,这个信息只有广告商知道。

Chrome 115 有哪些值得关注的新特性?,chrome,前端
常规的用法和 iframe 一样,我们可以用 src 属性来引入一个嵌入的内容:

<fencedframe src="conardli.html"></fencedframe>

另外 Fenced frames 可能会和其他的 隐私沙盒 的 API 来配合使用,浏览器可能会为Fenced frames 生成一个不透明的 URL 。

例如,配合 FLEDGE,浏览器可以生成一个 urn:uuid,来映射智能广告推荐的 URL:

<fencedframe src="urn:uuid:c36973b5-e5d9-de59-e4c4-364f137b3c7a" mode="opaque-ads" ></fencedframe>

只有在 Fenced frames 内部嵌入的广告商的站点才能获取到 urn:uuid 和 URL 的真实映射关系,外部的顶级站点是获取不到的。

WebAssembly 编译限制

Chrome 115 有哪些值得关注的新特性?,chrome,前端

Chrome 将主线程上同步 WebAssembly 编译的大小限制从 4KB 扩展到了 8MB。这无疑是一个巨大的提升,得益于 WebAssembly 运行时 V8 的性能改进。

8MB 限制是通过对 Google Pixel 1 手机的性测试确定的,该手机目前被认为是具有代表性的低端手机。V8 或硬件的未来发展可能会进一步的扩展这个限制。大于 8MB 的 WebAssembly 模块可以使用WebAssembly.compile()异步编译,也可以在 Worker 上同步编译。

而大部分的 WebAssembly 模块都可以在主线程的同步方式直接编译,而不需要异步或借助 Worker 线程。文章来源地址https://www.toymoban.com/news/detail-610664.html

到了这里,关于Chrome 115 有哪些值得关注的新特性?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 有哪些值得关注的AIGC细分方向?

    (以下内容,来自咱们社群“AI产品经理大本营”  1月12日 的团员内部讨论; 本文不求大而全,但会有一些 大家“没听说过的一手信息input” ) ‍‍‍‍ 【参与团员】 A:某司 负责 AIGC B:某司 负责 医疗AI产品 C:头部大厂 负责 生成式虚拟人产品 D:AI stealth startup 负责 产

    2024年02月09日
    浏览(34)
  • Move 双子星之一 Sui 生态有哪些项目值得关注

    近期,在新一轮公链叙事中, 有着 Move 双子星之称的高性能新公链 Aptos 与 Sui,均收获了行业中众多开发者、明星机构和用户的广泛关注。 同时,他们的开发团队大部分来自于原 Facebook,且项目都获得了大额融资,因此两个项目难免会被做一些比较。 不过,两个项目之间孰

    2024年02月07日
    浏览(31)
  • MySQL 8.1正式发行!有哪些值得关注的新功能?

    千呼万唤始出来的新版本MySQL 8.1及MySQL 8.0.34于2023年7月18日正式发行。从此,MySQL将开启创新版和稳定版同时发行的阶段。MySQL 8.1是MySQL的首个创新版,该版本主要增加了如下功能:   捕捉EXPLAIN FORMAT=JSON输出, 为 EXPLAIN FORMAT=JSON 增加 INTO 选项,可以将JSON格式的输出保存在一个

    2024年02月15日
    浏览(29)
  • After Effects 2023发布,有哪些值得关注的新功能?

    After Effects 2023 (版本 23.4) 发布 有哪些值得关注的新功能?AE2023改进了用户请求的工作流程并进行了重要修复,用户可在 After Effects 中更高效地工作,在不影响创意构想的情况下设计更加优质的细节。 AE2023 for Mac AE2023 新增功能如下: 文本和形状图层的“属性”面板 可在易于

    2024年02月09日
    浏览(40)
  • 3 月 16 日百度开启邀请测试「文心一言」,有哪些信息值得关注?

    百度推出「文心一言」是一项让计算机自动为文本添加感情色彩的 AI 技术,目前仍处于邀请测试阶段。以下是一些值得关注的信息: 1. 「文心一言」能够根据不同情感倾向生成不同的短语,目前支持的情感分类包括喜悦、愤怒、悲伤、厌恶、惊讶、中性。 2. 「文心一言」的

    2024年02月09日
    浏览(68)
  • 容器走进生产环境,哪些相关技术值得关注?解读 Gartner 容器技术成熟度曲线

    文章导览 本文详细解读 Gartner 容器技术成熟度曲线(2023)中评估的 9 项重要技术,包括云原生架构、Kubernetes、容器管理、容器原生存储、KubeVirt、云原生基础设施等。干货满满,建议收藏! 文末附赠 容器管理 与  Kubernetes  持久化存储 技术评估与产品选型电子书,欢迎下载

    2024年01月24日
    浏览(48)
  • 百度文心一言宣布向全社会开放,同时还有全新重构的 AI 原生应用,哪些信息值得关注?...

    以下是值得关注的信息: 1. 百度文心一言向全社会开放:这意味着任何个人、组织或开发者都可以使用百度文心一言,而不仅限于百度内部使用。这将为更多人提供使用和开发百度文心一言的机会,可能带来更多创新和应用。 2. 全新重构的 AI 原生应用:百度文心一言可能经

    2024年02月09日
    浏览(35)
  • CSS3的新特性都有哪些?

    2024年02月09日
    浏览(29)
  • JDK8到JDK17有哪些吸引人的新特性?

    作者:京东零售 刘一达 2006年之后SUN公司决定将JDK进行开源,从此成立了OpenJDK组织进行JDK代码管理。任何人都可以获取该源码,并通过源码构建一个发行版发布到网络上。但是需要一个组织审核来确保构建的发行版是有效的, 这个组织就是JCP(Java Community Process)。2009年,SUN公

    2023年04月18日
    浏览(40)
  • 如何使用Chrome直接编辑前端代码

    虽然是后端开发,但是不可避免的有时候需要写一些前端代码,所以一些前端技能还是有必要掌握的。我们知道修改代码之后看到效果最直接的方式就是直接在浏览器修改,但是常规的方式,在页面刷新之后我们所做的修改就会丢掉了,很不利于我们调试,此时就可以使用

    2024年02月16日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包