《High Performance Web Sites》之 Rule 12 读书笔记

本章建议 Remove Duplicate Scripts,去掉重复的脚本。重复的脚本从两个方面降低网站的访问速度: 1、不必要的 HTTP 请求; 2、无用的 JavaScript 运行时间。 其中,第一条当浏览器是 Internet Explorer 且该脚本没有设缓存时会发生。看过 Rule 3 的童鞋们都会用缓存,所以此条略去 —— 除非用户点了“刷新”按钮(如 图1)。 image 图1 加载完含设置了缓存的重复脚本的网页后点“刷新”的加载结果 - FireFox 7.0.1 而第二条无视重复的脚本是否有缓存,都会在 FireFox 和 Internet Explorer 中发生。 此外,重复脚本比一般人想象的要多,甚至可能以不同域名的形式存在(如 图2)。书中统计了国外流量最高的几个网站,全都有重复的脚本存在(本书出版于 2007 年 9 月)。 image 图2 重复的脚本 最后,书中给出一种 PHP 管理 JavaScript 脚本加载的示例代码,建议每次插入 JavaScript 脚本都调用相应的函数,判断是否存在、版本是否一致后再插入,作为解决方案。 不过,在大团队中,插入 JavaScript 这件事情发生的环境本身就是复杂多样的,要做到完全都调用后台函数来插入 JavaScript 调用, 还是比较困难的吧! image