网页性能优化的方法概述

网页性能优化的9个方法

合并操作

  • DOM的多个读写操作(或多个写操作),应该放在一起。不要两个读操作之间加入一个写操作。
  • 不要一条条的改变样式,而要通过改变class,或者csstext属性,一次性的改变样式

缓存

  • 如果某个样式是通过重排得到的,那么最好缓存结果。避免下一次用到的时候,浏览器又要重排

操作非真实DOM

  • 尽量使用离线DOM,而不是真实的网面dom,来改变元素样式。(比如,操作Document Fragment对象,完成后再把这个对象加入DOM。再比如,使用 cloneNode() 方法,在克隆的节点上进行操作,然后再用克隆的节点替换原始节点。)
  • 使用虚拟DOM的脚本库,比如React等。

改变操作dom的属性

  • position属性为absolute或fixed的元素,重排的开销会比较小,因为不用考虑它对其他元素的影响。
  • 只在必要的时候,才将元素的display属性为可见,因为不可见的元素不影响重排和重绘。另外,visibility : hidden的元素只对重绘有影响,不影响重排。
  • 先将元素设为display: none(需要1次重排和重绘),然后对这个节点进行100次操作,最后再恢复显示(需要1次重排和重绘)。

自定义渲染

  • 使用 window.requestAnimationFrame()、window.requestIdleCallback() 这两个方法调节重新渲染

学习链接:http://www.ruanyifeng.com/blog/2015/09/web-page-performance-in-depth.html


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!