Какой лучший способ уменьшить количество внешних вызовов JavaScript (HTTP-запрос)? - PullRequest
4 голосов
/ 24 июня 2010

В настоящее время у меня есть следующий внешний javascript в заголовке:

 <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>';} ?>

Page-Speed ​​от Google рекомендовал мне уменьшить количество внешних вызовов JS.Но я не совсем уверен, каков лучший способ сделать это.

Есть предложения?

Ответы [ 4 ]

5 голосов
/ 24 июня 2010

Когда вы идете в производство, объедините все сценарии в один сценарий, который содержит каждый из них в том порядке, в котором вы хотите их загрузить.Затем включите только этот комбинированный скрипт на своей странице.Или, если загрузка страницы кажется достаточно быстрой, не беспокойтесь - пока количество и размер скриптов не начнут вызывать у вас проблемы.

2 голосов
/ 24 июня 2010

Я не фанат объединения нескольких файлов JavaScript в один файл.Это разрушает время и усилия, необходимые для отделения цели каждого сценария, а также увеличивает сложность обслуживания сценариев.

Лучший подход - установить обработчик комбинации сценариев.Это позволяет вам поддерживать чистое разделение сценариев в вашем решении с преимуществами единой доставки клиенту с помощью автоматического объединителя.

Вот пример объединителя ссылок на сценарии JavaScript для PHP.

2 голосов
/ 24 июня 2010

Вам придется объединить их все в один файл ... но я бы просто оставил все как есть.

Это не очень большая проблема, за исключением первой загрузки, потому что большинство браузеров кэшируют эти файлы и вебсерверы сообщат браузеру, если есть обновление.

1 голос
/ 24 июня 2010

Лично я бы оставил их как отдельные файлы, если ваш сайт не получает очень, очень большой объем трафика - это упрощает отладку и обеспечивает удобную организацию.

Еще одна вещь: я бы рекомендовал загрузитьСам jQuery из библиотек Google AJAX .Он разгрузит один HTTP-запрос в Google (что позволит остальным скриптам начать загрузку быстрее) и даст дополнительное преимущество, заключающееся в том, что многие посетители уже кэшируют его на своем компьютере, поскольку библиотеки AJAX так широко используются крупными сайтами.

...