性能优化之浏览器篇

为什么浏览器端更重要?

性能优化在浏览器端 总结19条: 

规则一:把css放在head标签中加载

能让页面更早的开始渲染,避免把css放在页面尾部出现的闪屏

最好能包含关键渲染路径的样式:首屏

规则二:把js放在body末尾加载

因为js会阻塞html解析和css渲染

规则三:不要css表达式

看似强大,实际性能开销很大,可能导致页面卡顿

规则四:使用外链方式引用css和js

有效减少html的体积

可合理利用浏览器缓存

规则五:压缩js和css

生产环境删除不必要的注释、空白

js中变量名压缩,混淆压缩,css属性合并,选择符的合并等

规则六:不要重复加载js

在ie中还是会多个请求,不能发挥缓存优势

意味着更长的js执行时间

规则七:让ajax请求可缓存

GZIP、内容压缩都可使用

规则八:用get方式发起ajax请求

get方式可以缓存

如果是获取信息,get更语义化

如果是提交信息,post更语义化,post方式是不会被缓存的

规则9:组件延迟加载(重点)——延迟加载和按需加载

保障关键页面资源优先加载:因为并发数限制

延迟加载的典型手段:lazyload

规则10:减少dom节点数

天猫:更多节点数以为浏览器布局、渲染时计算量更大

规则11:避免使用iframe

会阻塞父文档的onload

即使是空白也比较耗时

规则12:减少cookie体积

因为cookie每次请求都会全部带上

规则13:使用无cookie域名加载静态资源

在服务器端做了讲解

规则14:减少js的dom访问

对于查找的元素,可以缓存在变量中

节点增加是合理利用documentFragment

不要用js去频繁修改样式

规则15:使用更智能的事件监听机制

基于事件冒泡的委托机制,有效减少绑定的数量

规则16:常见的图片优化手段

相比代码,图片体积很大

PNGCrush、JPEGTRAN PNGQUANT

渐进式编码:JPG

规则17:不要在html里面缩放图片

徒增渲染开销,提供适当尺寸即可

规则18:不要把图片scr置空

ie、chrome、firefox会发起额外的主文档请求

规则19:任何资源尽量保持的25k以内

iphone、部分浏览器无法缓存25k以上的资源 

性能优化之服务篇

原文地址:https://www.cnblogs.com/Abner5/p/6093368.html