专栏名称: 全栈修仙之路
专注分享 TS、Vue3、前端架构和源码解析等技术干货。
今天看啥  ›  专栏  ›  全栈修仙之路

Chrome 129 支持原生 “时间切片” 能力了!

全栈修仙之路  · 公众号  · 互联网安全  · 2024-09-24 11:25
    

主要观点总结

本文介绍了Chrome 129正式版本中的几项重要更新,包括Web API中的scheduler.yield()、Intl.DurationFormat、CSS的interpolate-size属性和calc-size()函数以及锚点定位的变化。其中,scheduler.yield()用于提高浏览器响应能力,Intl.DurationFormat支持多种语言环境的持续时间格式化,CSS的interpolate-size属性和calc-size()函数用于实现更流畅的动画效果,而锚点定位的变化涉及到名称更改和函数语法调整。

关键观点总结

关键观点1: Web API的scheduler.yield():将耗时较长的任务分解为较小的任务块,通过明确返回主线程来提高响应能力,保证浏览器在执行长时间任务时仍能保持流畅的用户体验。

scheduler.yield()在Chrome 115版本开始推出试用版,并在当前版本正式推出稳定版本。其作用是告诉浏览器即将执行的任务可能需要很长时间,如果浏览器需要执行其他任务,可以等待完成后再继续执行当前任务。

关键观点2: Intl.DurationFormat:支持多种语言环境的持续时间格式化。

使用示例代码展示了如何使用Intl.DurationFormat来格式化持续时间。

关键观点3: CSS的interpolate-size属性和calc-size()函数:实现更流畅的动画效果。

介绍了这两个属性/函数的用途和用法,包括在视频按钮上的过渡动画效果的应用示例。

关键观点4: 锚点定位的变更:Chrome对锚点定位的实现进行了一些更改,包括名称更改和函数语法调整。

使用示例代码展示了锚点定位变更后的用法,并提供了变更详情链接。


文章预览

最近 Chrome 发布了 129 正式版本,其中包括了几项值得我们关注的更新,今天一起来学习下。 【Web API】scheduler.yield() JS 执行耗时较长的任务会让浏览器响应用户输入的能力变得更慢,使人觉得网站卡顿,并影响 INP 等关键性能指标。 借助最新推出的 scheduler.yield() ,我们可以将耗时较长的任务分解为较小的任务块,通过明确返回主线程来提高响应能力。 scheduler.yield() 在 Chrome 115 版本开始推出试用版,并在当前版本正式推出稳定版本。 直白点讲, scheduler.yield() 的作用就是告诉浏览器: “我即将要做的工作可能需要很长一段时间,如果你需要渲染页面、响应用户输入或有其他更重要多任务,没关系,我可以等你们做完再继续!” 我们可以模拟一堆需要一定耗时的长任务: // 示例任务函数 async   function   validateForm ( )  {    // 模拟任务延迟    ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览