网站前端优化 -saveForSelf
九、网站前端优化 – IMG
9.1、可以优化的图片
图片总共可以分为两类,一个是CSS IMAGES,另一个是产品图片。
9.2、CSS IMAGES
CSS图片现在采用的方式是图片合并的方式,这样可以减少HTTP请求;初期的规划是网站最通用的图片合并到一张图片上,具体某张页面自己用到的,针对每张页面再合并一张图片,即一张页面除去插件里面带过来的背景图片外,最理想的情况是保留两张背景图。但是现在情况很不如意,主要原因有以下几点:
- 页面改动太频繁,很多原先合并好的图片一改再改后,会保留很多副本
- 现在CSS的模块化,CSS模块化后,一张新的页面有原先定义好的样式后,我们就会直接引用,这样的话就不会关系具体他的CSSIMAGES;如果不同的模块来自不同的页面,那么机会导致页面的背景图过多并且过大。
9.3、产品图片
产品图有两种呈现方式,一个就是单独展示在页面中的,这样的图片处理方式是异步,就用lazyload,这个的处理方式相对简单。
另外一张是幻灯片,这种图片用lazyload不能达到异步的效果,因为幻灯片我们首次只会看到第一张图片,这样的话就得要改幻灯片,这个根据不同的幻灯而定吧。
十、网站前端优化 – DOM
10.1、DOM优化方法
目前对DOM优化采用的方法是不渲染,即将对SEO不重要的内容用textarea或者script包裹,这样的话他们在渲染时就会被当做字符串而不会解析成节点。
十一、网站前端优化 – JS
JS是除图片外,对前端性能影响最大的一个方面,也是最难优化的。总体来说,JS对性能有影响体现在两个阶段,一个是JS的下载阶段,一个是执行阶段。
JS同步时,下载和执行阶段解析器都会暂停,等待JS下载和执行;而jS异步时,JS下载不会暂停解析器,因此不会阻塞页面,但是执行时,仍然会暂停解析器。所以,对JS处理方式一般是异步并且放在页面底部。这样可以对页面的影响降到最小。
JS另一个难点就是页面中的JS代码的逻辑处理,可以用dynaTrace AJAX跟踪查看。
十二、网站前端优化 – 重绘&回流
当呈现树中的一部分(或全部)因为元素的规模尺寸,布局,隐藏等改变而需要重新构建。这就称为回流(其实我觉得叫重新布局更简单明了些)。每个页面至少需要一次回流,就是在页面第一次加载的时候。
当呈现树中的一些元素需要更新属性,而这些属性只是影响元素的外观,风格,而不会影响布局的,比如background-color。则就叫称为重绘。
这块内容是和浏览器渲染方式息息相关的,有兴趣的童靴可以在网站多找些资料;这里只介绍些平时我们可能使用的一些会造成重绘&回流的方法,及改进意见
- 不要1个1个改变元素的样式属性,最好直接改变className,但className是预先定义好的样式,不是动态的,如果你要动态改变一些样式,则使用cssText来改变
- 让要操作的元素进行"离线处理",处理完后一起更新,这里所谓的"离线处理"即让元素不存在呈现树中
- 不要经常访问会引起浏览器flush队列的属性,如果你确实要访问,就先读取到变量中进行缓存,以后用的时候直接读取变量就可以了
- 考虑你的操作会影响到呈现树中的多少节点以及影响的方式,影响越多,花费肯定就越多
网站前端优化 -saveForSelf的更多相关文章
- 网站前端优化技术 BigPipe分块处理技术
前端优化已经到极致了么?业务还在为看到不停的而揪心么?还在为2秒率不达标苦恼么? 好吧我知道答案,大家一如既往的烦恼中... 那么接下来我们看看,facebook,淘宝,人人网,一淘都是怎么做前端优化 ...
- 关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)
本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别 ...
- 关于大型网站技术演进的思考(二十)--网站静态化处理—web前端优化—中(12)
Web前端很多优化原则都是从如何提升网络通讯效率的角度提出的,但是这些原则使用的时候还是有很多陷阱在里面,如果我们不能深入理解这些优化原则背后所隐藏的技术原理,很有可能掉进这些陷阱里,最终没有达到最佳 ...
- 关于大型网站技术演进的思考(十九)--网站静态化处理—web前端优化—上(11)
网站静态化处理这个系列马上就要结束了,今天我要讲讲本系列最后一个重要的主题web前端优化.在开始谈论本主题之前,我想问大家一个问题,网站静态化处理技术到底是应该归属于web服务端的技术范畴还是应该归属 ...
- 网站静态化处理—web前端优化—下【终篇】(13)
网站静态化处理—web前端优化—下[终篇](13) 本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部, ...
- 网站静态化处理—web前端优化—中(12)
网站静态化处理—web前端优化—中(12) Web前端很多优化原则都是从如何提升网络通讯效率的角度提出的,但是这些原则使用的时候还是有很多陷阱在里面,如果我们不能深入理解这些优化原则背后所隐藏的技术原 ...
- 网站静态化处理—web前端优化—上
网站静态化处理—web前端优化—上(11) 网站静态化处理这个系列马上就要结束了,今天我要讲讲本系列最后一个重要的主题web前端优化.在开始谈论本主题之前,我想问大家一个问题,网站静态化处理技术到底是 ...
- 网站静态化处理—web前端优化—上(11)
网站静态化处理这个系列马上就要结束了,今天我要讲讲本系列最后一个重要的主题web前端优化.在开始谈论本主题之前,我想问大家一个问题,网站静态化处理技术到底是应该归属于web服务端的技术范畴还是应该归属 ...
- 网站前端性能优化之javascript和css
之前看过Yahoo团队写的一篇关于网站性能优化的文章,文章是2010年左右写的,虽然有点老,但是很多方面还是很有借鉴意义的.关于css的性能优化,他提到了如下几点: CSS性能优化 1.把样式表置于顶 ...
随机推荐
- 10670 Work Reduction (贪心 + 被题意坑了- -)y
Problem C: Work Reduction Paperwork is beginning to pile up on your desk, and tensions at the workpl ...
- H5离线缓存机制-manifest
简介:Manifest 其实就是web应用的一种缓存机制,主要用于现在webapp应用中,它是浏览器自己的一种机制,随着移动互联网时代的到来,网络可靠性降低,如果我们已经将需要的文件缓存下下来,一旦网 ...
- HTML几类标签的应用总结
打开DREAMWEAVER,新建HTML,如下图: body的属性: bgcolor 页面背景色 background 背景壁纸.图片 text 文字颜色 topmargin 上边距 leftm ...
- asp.net Mvc+bootstarp+esayUI+EF 框架(一)
"框架" 这两个字从通俗的意义来讲就是提高复用性,解耦类之间的关系和方便开发人员开发. 使用的技术也是大家基本现在都用过的,而这个系类我所要讲的内容是什么呢? 框架的基本 ...
- 雄踞AppStore榜首的游戏<别踩到白块儿>源码分析和下载(一)
AppStore和Android市场情况 莫名其妙爆红的游戏 真的莫名其妙,笔者下这个游戏两次.第一次在豌豆荚排行榜看到这款游戏,名字怪怪的,下载下来尝试一下,没认为有什么新颖的,还在思虑这是不是刷榜 ...
- Sql Server2005 Transact-SQL 窗口函数(OVER)
1.简介: SQL Server 2005中的窗口函数帮助你迅速查看不同级别的聚合,通过它可以非常方便地累计总数.移动平均值.以及执行其它计算.窗口函数功能非常强大,使用起来也十分容易.可以使用这个技 ...
- java发送带附件的邮件
/** * java发送带附件的邮件 * 周枫 * 2013.8.10 */ package com.dsideal.Util; import javax.mail.*; import javax.m ...
- JFinalo操作框架racle数据库
JFinal操作框架oracle数据库.在需求configPlugin()方法来配置链路oracle配置数据库 组态JFinal数据库操作窗口小部件,configPlugin方法 在这里,我打开jdb ...
- android90 bind方式启动服务service调用service里的方法
package com.itheima.banzheng; import com.itheima.banzheng.LeaderService.ZhouMi; import android.os.Bu ...
- 玩转Android之Picasso使用详详详详详详解,从入门到源码剖析!!!!
Picasso是Squareup公司出的一款图片加载框架,能够解决我们在Android开发中加载图片时遇到的诸多问题,比如OOM,图片错位等,问题主要集中在加载图片列表时,因为单张图片加载谁都会写.如 ...