2010-06-24 64 views
4

目前,我在下面的外部JavaScript在我的头:减少外部JavaScript调用(HTTP请求)数量的最佳方法是什么?

<script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script> 
<script type="text/javascript" src="scripts/jquery.validate.js"></script> 
<script type="text/javascript" src="fancybox/jquery.fancybox-1.3.1.pack.js"></script> 
<script type="text/javascript" src="scripts/jquery.scrollTo-min.js"></script> 
<script type="text/javascript" src="scripts/jquery.localscroll-min.js"></script> 
<script type="text/javascript" src="scripts/custom.js"></script> 
<?php if($lang_file=='lang.en.php') {echo '<script type="text/javascript" src="scripts/jquery-validate/val-en.js"></script>';} ?> 

谷歌的页面高速推荐我来减少外部JS调用的次数。但我不确定什么是做这件事的最好方法。

有什么建议吗?

回答

5

当您开始生产时,将所有脚本合并到一个脚本中,每个脚本包含您希望它们加载的顺序。然后在您的页面中仅包含此组合脚本。或者,如果页面加载速度够快,请不要担心 - 直到脚本的数量和大小开始引起问题。

2

你将不得不将它们全部合并成一个文件......但我会保持原样。

除了第一次加载时,这不是一个大问题,因为大多数浏览器都会缓存这些文件,并且Web服务器会告诉浏览器是否有更新。

2

我不喜欢将多个JavaScript文件合并到一个文件中。它浪费了时间和精力去分离每个脚本的目的以及增加维护脚本的难度。

更好的方法是放置一个脚本组合处理程序。这使您可以将脚本与您的解决方案完全分离,并利用自动组合器向客户端交付单一优势。

Here's an example of a javascript script reference combiner for PHP.

1

就个人而言,我会离开其作为单独文件,除非你的网站没有获得一个非常,非常大量的流量,它使得调试简单,并保持良好的输出组织。

另一件事:我建议从Google AJAX Libraries加载jQuery本身。它会将一个HTTP请求卸载给Google(允许其他脚本开始快速下载),并且还有许多访问者已将其缓存到其计算机上的额外好处,因为AJAX库在各大网站中被广泛使用。

相关问题