5.
即使您没有广泛使用 JavaScript,也要确保 JS 的使用方式不会延迟折叠元素的出现。
例如,英雄单位的淡入淡出动画效果可能看起来很有视觉吸引力,但这类动画可能会为您的 FCP、LCP 或速度指数指标增加宝贵的时间,这些指标合计占 Lighthouse 总分的 45%。
轮播效果也一样,它几乎总是由 JS 驱动,如果处理不当,可能会影响性能,是一个常见的陷阱。如果您必须使用轮播效果(从用户
6. 尽可能延迟脚本,必要时异步执行
对 JS 文件的标准请求,即使 WhatsApp 主管 它们是 HTML 中的最后一个请求,仍然会中断页面的渲染,因为 HTML 解析将完全暂停,直到脚本完全下载。
任何不需要在折叠上方显示的关键脚本都应该使用defer 属性进行延迟,允许下载 JS 文件,但在 HTML 完全下载和解析之前不会执行。
另一方面,async属性确实会阻止 HTML 解析,但仍允许文件并发下载。对于需要在流程早期执行的更重要的 JS 文件,请使用 async,同时尽量避 英国新冠疫情统计数据:自周五以来未更新 免在首屏渲染中使用 JS。
为了获得最佳性能并最大限度地减少总阻塞时间,请尽量推迟尽可能多的脚本,包括分析和第三方脚本以及折叠以下的所有内容。
对于在 GTM 中设置为标签的脚本,尽可能使用“窗口加载”页面视图触发器,这会推迟加载,直到 HTML 被解析和呈现。
7.你真的需要一个 JS 库吗?
如果你真的想追求最高分,那么值得考虑一下是否真的需要一个 JS 库或框架。任何发送到浏览器的面向前端的 .js 文件都需要下载、解析和执行,而根据加载方式的不同,这可能会对 CWV 产生不同的影响。
如果 JS 文件位于 <head> 元素内,则会阻塞渲染。如果它位于 <head> 元素之外,除非延迟加载,否则可能会占用 CPU 并影响 TBT 指标,进而可能中断首屏元素的渲染,从而影响 LCP 或速度指数。
为了追求最高的速度,我们不依赖任何第三方 JS 库(包括 jQuery、动画库或其他库),而是青睐不断发展且功能更强大的原生 ES6 JavaScript。
我们经常使用 JavaScript 来实现视 布韦岛商业指南 差或轮播风格的动画和交互,但如果可以使用 CSS 动画(例如焦点和悬停转换),则尽量将其保持在最低限度。