网站可以使用js来测试性能,console.time()、console.timeEnd()。网站性能优化主要以下几个方面:纯属手写,支持下
1. 尽量减少HTTP请求次数 合并js 合并css 图片sprite
2. 延迟加载内容 图片懒加载 数据懒加载(点击查看更多) 功能懒加载(曝光或者点击后加载html模块、js功能模块)
3. 使用离线缓存 把常用的变动又少的js、css、图片存储到localstorage,第二次访问的时候直接走本地缓存。在移动端使用广泛。
4. CSS、JS放置正确位置 把css放在head中,保证页面看到的时候样式是对的。 把js放到body里最后位置,防止加载js阻塞页面。
5. 静态资源压缩 图片、CSS、JS在发布前要压缩。
6. 静态资源使用多个域名 对于图片、CSS、JS,可使用几个域名,可以并发加载。
7. 静态资源使用cdn存储 用户与你网站服务器的接近程度会影响响应时间的长短。 可以把静态资源放到内容分发网络(Content Delivery Network,CDN)中加快访问速度。
8. 预加载 在某个功能还没展现时,在空闲时间预先加载相关图片或者js代码
9. DOM操作优化 使用JavaScript访问DOM元素比较慢,因此为了获得更多的应该页面,应该做到: 缓存已经访问过的有关元素 线下更新完节点之后再将它们添加到文档树中 避免使用JavaScript来修改页面布局
10. 优化算法 在js处理中优化查找、排序算法。尽量少使用嵌套循环。 使用事件代理 有时候大家会感觉到页面反应迟钝,这是因为DOM树元素中附加了过多的事件句柄并且些事件句病被频繁地触发。这就是为什么说使用event delegation(事件代理)是一种好方法了。如果你在一个div中有10个按钮,你只需要在div上附加一次事件句柄就可以了,而不用去为每一个按 钮增加一个句柄。事件冒泡时你可以捕捉到事件并判断出是哪个事件发出的。 你同样也不用为了操作DOM树而等待onload事件的发生。你需要做的就是等待树结构中你要访问的元素出现。你也不用等待所有图像都加载完毕。 你可能会希望用DOMContentLoaded事件来代替 事件应用程序中的onAvailable方法。
css 去掉默认样式,css内部数据,css突出样式素材,css五张图片轮播,css3 append 动画,css设置图片为半透明,css变圆角