鹿泽鹿泽  2024-04-27 08:53:45 鹿泽笔记 隐藏边栏  0 

页面首屏的加载时间在1秒以内的页面,会带给用户流畅快捷的极速体验。而很多网站根本做不到这一点,连最基本的3秒内打开都做不到,那么页面打开速度优化建议有哪些呢?

网站页面打开速度

一、清除不必要的资源,避免进行不必要的加载

站点应当定期审核网页上的资源是否是必需的,并评估该资源的价值与性能影响。

清除阻塞渲染的JS和CSS

如果要以最快速度完成首屏渲染,需要最大限度地减少网页上关键JS/CSS子资源的数量,并尽可能清除这些资源,最大限度地减少加载量。

二、使用代码拆分减少JS负载

长时间运行的JS可能会阻塞主线程,这时可以考虑使用requestAnimationFrame()或requestIdleCallback()来进行优化。根据不同的业务需求,开发者可以将JS中首屏的关键代码拆分出来,这样可以提前加载执行首屏中必需的少量JS代码,从而缩短页面的加载时间。其余的JS可以按需加载或者置后加载。同时建议开发者将JS优先放在首屏渲染完成之后,放在body闭标签前面。

三、优化阻塞渲染的JS

为了实现性能,可以让页面的JS进行异步执行,建议优先考虑使用defer的方式,其次是async方式,并去除关键渲染路径中任何不必要的JS。

1、优化JS的使用方式,优先使用异步JS资源

默认情况下,JS资源会阻塞解析,强制等待CSSOM并暂停DOM的构建,继而大大延迟首屏渲染的时间。

异步JS资源则不会阻塞文档解析器,如果脚本可以使用defer/async属性,也就意味着它并非是首屏渲染所必需的,可以考虑在首屏渲染后异步加载脚本。

2、延迟解析加载JS

为了最大限度减少内核渲染网页的工作量,建议开发者延迟所有非必需的、对构建首屏渲染无关紧要的JS脚本,将JS优先放在body闭标签处。

3、避免长时间运行的JS

运行时间长的JS会阻塞构建DOM、CSSOM以及网页的渲染,所以任何对首屏渲染无关紧要的初始化逻辑和功能都应延后执行。

如果需要运行较长的初始化序列,请考虑将它们拆分为若干个阶段,以便浏览内核可以间隔处理其它的渲染任务。

四、优化阻塞渲染的CSS

默认情况下,关键CSS子资源是会阻塞内核渲染的,请务必精简网页的CSS资源,同时需要将CSS尽快地完成加载,关键CSS子资源优先放在head标签内,以便缩短首屏渲染的时间。

1、优化CSS的使用方式

CSS是构建渲染树的必备元素,首次构建网页时,确保将任何非必需的CSS资源都标记为非关键资源(比如print),并应确保尽可能减少关键CSS子资源的数量。

2、将关键CSS放在文档head标签内

尽早在HTML文档内指定所有必需的关键CSS资源,以便浏览内核尽早发现link标记并发出CSS请求加载。

3、避免使用CSS import指令

一个样式表可以使用CSS import指令从另一个样式表文件导入规则。

不过应避免使用这些指令,因为它们会在关键路径中增加往返次数从而影响首屏渲染性能。

五、主文档耗时

页面打开速度优化建议:

优化和压缩资源,减小总文件大小。

优化和压缩资源来最大限度地减小总文件大小,来提高网页加载速度。

开发者可以考虑通过简化编码来优化主文档大小,同时可以采用chunk编码,服务器分chunk输出,以及通过GZIP来压缩主文档资源。

六、页面存在额外跳转

页面打开速度优化建议:

从用户点击到打开页面的过程中,有些网站内可能经过额外跳转才会将最终的页面展现给用户,所以建议开发者去除额外的跳转。

1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505