web前端性能优化原则:
1、尽量减少HTTP请求次数
|-合并css、js文件
|-使用CSS Sprites减少图片请求,把所有背景图片都放到一张图里,通过background-position、background-image属性来显示图片的不同部分.
2、缓存Ajax请求结果
3、延迟一些不是必须的加载内容(如用户操作之后才会显示的内容或者一些折叠内容)
4、预加载(预先加载一些可能用到的内容)
|-无条件加载:通过onload事件触发
|-有条件加载:根据用户当前操作判断可能请求的内容
5、减少页面的DOM数量及其操作
可以直接在ff的控制台键入document.getElementsByTagName('*').length;计算DOM数量
6、为文件头指定合适的Expires和Cache-Control(对静态内容设置Expires为Never Expires;对动态内容,使用恰当的Cache-Control值)
7、尽量使用Get发送Ajax请求(因为Post方式其实是分两步走的过程,先发文件头再发数据体;但Get有限制)
8、CSS文件放在<head>中,JS放在<body>后面
9、将HTML/CSS、JS和图片、Flash等媒体文件放置在不同的服务器上,实现平行下载
1、尽量减少HTTP请求次数
|-合并css、js文件
|-使用CSS Sprites减少图片请求,把所有背景图片都放到一张图里,通过background-position、background-image属性来显示图片的不同部分.
2、缓存Ajax请求结果
3、延迟一些不是必须的加载内容(如用户操作之后才会显示的内容或者一些折叠内容)
4、预加载(预先加载一些可能用到的内容)
|-无条件加载:通过onload事件触发
|-有条件加载:根据用户当前操作判断可能请求的内容
5、减少页面的DOM数量及其操作
可以直接在ff的控制台键入document.getElementsByTagName('*').length;计算DOM数量
6、为文件头指定合适的Expires和Cache-Control(对静态内容设置Expires为Never Expires;对动态内容,使用恰当的Cache-Control值)
7、尽量使用Get发送Ajax请求(因为Post方式其实是分两步走的过程,先发文件头再发数据体;但Get有限制)
8、CSS文件放在<head>中,JS放在<body>后面
9、将HTML/CSS、JS和图片、Flash等媒体文件放置在不同的服务器上,实现平行下载