前端页面渲染优化

1.禁止使用iframe(阻塞父文档onload事件);
*iframe会阻塞主页面的Onload事件;
*搜索引擎的检索程序没法解读这种页面,不利于SEO;
*iframe和主页面共享链接池,而浏览器对相同域的链接有限制,因此会影响页面的并行加载。javascript

使用iframe以前须要考虑这两个缺点。若是须要使用iframe,最好是经过javascript
动态给iframe添加src属性值,这样能够绕开以上两个问题。css

2.禁止使用gif图片实现loading效果(下降CPU消耗,提高渲染性能);
三、使用CSS3代码代替JS动画(尽量避免重绘重排以及回流)css3平面动画开启translateZ(0),打开浏览器3d加速,在必定程度可缓解卡顿。不宜多用;前端

四、对于一些小图标,可使用base64位编码,以减小网络请求。但不建议大图使用,比较耗费CPU;
小图标优点在于:
1.减小HTTP请求;
2.避免文件跨域;
3.修改及时生效;
java

五、页面头部的<style></style> 会阻塞页面;(由于 Renderer进程中 JS线程和渲染线程是互斥的);
六、页面头部<script</script> 会阻塞页面;(由于 Renderer进程中 JS线程和渲染线程是互斥的);
七、页面中空的 href 和 src 会阻塞页面其余资源的加载 (阻塞下载进程);

八、网页Gzip,CDN托管,data缓存 ,图片服务器;
九、前端模板 JS+数据,减小因为HTML标签致使的带宽浪费,前端用变量保存AJAX请求结果,每次操做本地变量,不用请求,减小请求次数
十、用innerHTML代替DOM操做,减小DOM操做次数,优化javascript性能。
十一、当须要设置的样式不少时设置className而不是直接操做style。
十二、少用全局变量、缓存DOM节点查找的结果。减小IO读取操做。
1三、避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。
1四、图片预加载,将样式表放在顶部,将脚本放在底部 加上时间戳。css3

1五、 避免在页面的主体布局中使用table,table要等其中的内容彻底下载以后才会显示出来,显示比div+css布局慢。
对普通的网站有一个统一的思路,就是尽可能向前端优化、减小数据库操做、减小磁盘IO。
向前端优化指的是,在不影响功能和体验的状况下,能在浏览器执行的不要在服务端执行,
能在缓存服务器上直接返回的不要到应用服务器,程序能直接取得的结果不要到外部取得,
本机内能取得的数据不要到远程取,内存能取到的不要到磁盘取,缓存中有的不要去数据库查询。
减小数据库操做指减小更新次数、缓存结果减小查询次数、将数据库执行的操做尽量的让你的程序完成(例如join查询),
减小磁盘IO指尽可能不使用文件系统做为缓存、减小读写文件次数等。程序优化永远要优化慢的部分,换语言是没法“优化”的。
数据库

1六、经过改变src的状况下**.MP3(不一样于mp3)在移动端有可能不能播放。跨域

相关文章
相关标签/搜索