南方都市报
避免主线程长时间被阻塞 INP延迟的根本原因往往是主线程被长任务占据
避免同步的DOM写入: 在事件处理中直接修改元素样式或尺寸,会触发强制同步布局(Forced 🎯Reflow)
使用被动事件监听器: 🔑对于 touchstart 、 scroll 等事件,通过添加 { passive: true } 选项告知浏览器无需等待 preventDefault() ,从而允许浏览器立即滚动或响应
可以使用 setTimeout 、 requestAnimationFrame 或 scheduler
它衡量的是用户与页🚀面发生交互(如点击、触摸、按键)到页面视觉上给出响应所经历的时间
要做到这一点🔍,需要从代码执行、渲染流程到资💪源调度等多个环节入手
postT✅ask 等方法,让浏览器在🔍执行间隙有机会处理用户交互