本文是HTML级别的优化,不考虑程序问题。
一、基于减少HTTP连接数的优化
IE每次在一个域上并发连接数默认为8个,这意味着超过8个文件的时候,需要等待前8个文件之一传输结束之后再进行新的连接。由于这种限制我们可以采用以下方法进行优化:
1、将图片,尤其是大图片放到另外一个域名中。大站可以用另一个服务器来专门用于图片的传输。对于虚拟主机可以绑定另外一个域名。
2、合并CSS和JS文件。以及在可能的时候合并图片。
3、预加载技术。先用js显示缩略图,然后setTimeout延时加载大图片。
二、减少文件的体积
减少体积意味着减少带宽,能够很直接地减少硬件与带宽的开支。如果网站每天有成千上万的访客,那么即使是一个字节的优化也可以带来显著的效果。
1、减小CSS、JS和HTML的体积。
2、减小图片的体积
三、基于运算速度的优化
运算速度更多的是WEB后端的事情,但是并不意味着脱得了前端的干系。
JS运算速度的优化。典型就是循环操作DOM,不要直接操作DOM,而是先createElement到一个变量,在这个变量中增加DOM,然后再附加到文档树上。此外,不要以为内存泄漏只是C++们的事情。JS也会导致内存泄漏。这个话题比较复杂,推荐大伙儿们阅读'ajax in action'。制作一个成熟的ajax应用需要注意的事项全部都有,与后台语言无关。阅读算法的书。可能让一个前端开发师阅读算法的书有些搞笑,但是,有些极端场合还是会出现因为JS执行耗时过多,浏览器要终止JS的运行。
四、其他优化
可以是基于浏览器的特性、基于用户的体验进行优化。大家可以天马行空地发挥!
IE在加载CSS之前会出现瞬时的无CSS状态的页面。可以通过加入一个空的<script type="text/javascript"></script>来解决。
不要在文档里加入空的js,IE的BUG会导致这样比较慢。
标明图像的高度和宽度,有利于网页在加载过程中结构保持一致。
当一个链接是一个目录的时候,比如3a88.com/article,要这样:3a88.com/article/,因为没有/,服务器会回应一个301到有/的地址。
更新时间:2010-3-22