前端性能优化及首页白屏解决方案

一、页面之所以能渲染

1、从服务器获取需要渲染的内容
从服务器获取的是文件流(进制编码的内容)
2、浏览器基于自己的渲染引擎(例如:webkit、gecko、trident、blink)开始自上而下加载渲染的代码

二、页面渲染步骤:

1、在CSS资源还没有请求回来之前,先生成DOM树(DOM的层级关系/节点关系)
2、当所有的CSS请求回来之后,浏览器按照CSS的导入顺序,依次进行渲染,最后生成CSSOM树
3、把DOM树和CSSOM树结合在一起,生成有样式,有结构的Render TREE渲染树
4、浏览器按照渲染树,在页面中进行渲染和解析
步骤1)计算元素在设备视口中的大小和位置(布局layout或者重排/回流)
步骤2)根据渲染树一级回流得到的几何信息,得到节点的绝对像素 =》 绘制/重绘(painting)

三、CRP性能优化

1、白屏问题: 从服务器请求HTML,请求CSS资源,然后渲染,减少第一次渲染的时间,包括后续打开时间,这些优化就是项目性能优化
1)减少DOM树渲染的时间(HTML层级不要太深,标签语义化…)
2)减少CSSOM树渲染时间(选择器是从右向左解析,所以尽可能减少层级),less和sass中的层级嵌套虽然还用,但是是一个大坑
3)、减少HTTP请求次数和请求大小
4)、一般会把CSS放在页面的开始位置(提前请求资源 用link别用@i

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 白屏时间是指用户在打开网页后,直到看到页面内容之间的时间间隔。要减少白屏时间,可以采用以下方法:1.减少图像文件的大小;2.使用 CDN 加速;3.优化 JavaScriptCSS 代码;4.使用浏览器缓存;5.对网页进行懒加载等。 ### 回答2: 前端性能优化是指通过一系列的调整和优化,提高网页的加载速度和响应速度,提升用户体验。其中减少白屏时间是一项重要的优化目标。 白屏时间是指页面打开后用户看到内容的时间间隔。通常情况下,用户打开页面后,由于网络请求、资源加载等原因,会有一段时间页面处于空白状态,这段时间即为白屏时间。减少白屏时间可以提升用户的感知速度,使用户更快地看到页面内容。 减少白屏时间的方法有以下几种: 1. 减少页面的加载时间:通过优化页面结构、合理使用CSSJavaScript前端技术,减少页面的大小和请求个数,从而加快页面加载速度。 2. 预加载关键资源:提前加载页面需要的关键资源,比如CSSJavaScript、图片等,可以通过使用预加载的方式,使这些资源在页面打开前就开始加载,从而减少白屏时间。 3. 使用缓存:利用浏览器的缓存机制,将页面需要的静态资源缓存到本地,下次访问时可以直接从缓存中获取,减少网络请求的时间。 4. 懒加载:仅加载当前可见区域内的内容,延迟加载其他内容,在用户滚动页面时再加载。这样可以减少页面首次加载的资源量,提高页面加载速度。 5. 提前获取数据:如果页面需要从后端获取数据,可以在页面加载时就开始请求数据,然后在渲染页面时直接使用已获取的数据,减少用户等待数据响应的时间,缩短白屏时间。 综上所述,通过适当的优化措施,可以有效减少白屏时间,提升前端性能,提高用户体验。 ### 回答3: 前端性能优化是指通过各种方法和技术来提高网页加载和交互的速度和效率,其中之一就是减少白屏时间。 白屏时间是指用户在打开网页时,页面内容出现之前的等待时间。在这个过程中,用户会感觉到页面没有任何反应,导致用户体验下降。 为了减少白屏时间,我们可以采取以下几种策略: 1. 压缩和合并资源文件:将CSSJavaScript文件进行压缩和合并,减少HTTP请求和传输时间,从而提高加载速度。 2. 使用浏览器缓存:合理设置缓存策略,使相同的资源可以从缓存中获取,避免重复请求,减少加载时间。 3. 异步加载资源:将非关键资源(如广告、统计代码等)的加载放在页面内容加载完毕后进行,以保证页面内容的快速呈现。 4. 延迟加载图片:将页面上的图片设置为延迟加载,只有在用户滚动到可见范围时才进行加载,避免一次性请求过多的图片,提高加载速度。 5. 使用CDN加速:将静态资源部署到全球各地的CDN节点上,利用就近访问的优势,减少网络延迟,加快资源加载速度。 6. 懒加载:只加载当前可见区域的内容,将其他内容延迟加载,延迟加载可以提高页面的加载速度,减少白屏时间。 7. 优化首屏渲染:将关键资源和内容放在页面的最前面,提高首屏的加载速度,使用户能够更快地看到页面内容。 通过以上的优化策略,可以有效地减少白屏时间,提高网页的加载速度和用户的体验。但需要注意的是,在优化的过程中,要综合考虑兼容性、用户体验等因素,避免影响网页的功能和可用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值