Загрузка JavaScript-библиотек через CDN Яндекса

Уже давно Яндекс и Гугл предоставляют доступ к популярным JavaScript-библиотекам. Буду рассматривать Яндекс, так как в рунете его CDN работает быстрее. Список библиотек находится здесь. Допустим, на нашем сайте используется jQuery версии 1.4.2
вместо загрузки файла с нашего сайта
<script type="text/javascript" src="/lib/jquery.js"></script>

мы пишем
<script type="text/javascript" src="//yandex.st/jquery/1.4.2/jquery.min.js"></script>

По аналогии подгружаются остальные библиотеки.

Зачем это нужно?

Почему бы не хранить библиотеки у себя на сайте?
Загрузка через Яндекс выполняется, как правило, быстрее за счет:

  • CDN. Проще говоря, если ваш сайт в США, а пользователь из Новосибирска, то скрипт загружается с сервера из Сибири, а не из США.
  • Скорее всего данный скрипт уже лежит в кэше браузера. Например, пользователи, которые побывали на сайте Яндекса, уже загрузили в кэш jQuery версии 1.4.2 (откройте html-код главной страницы Яндекса).
  • Параллельная загрузка. Браузеры имеют ограничение по количеству одновременно загружаемых файлов с одного хоста. Вынося файлы (картинки, css) на разные домены/поддомены мы ускоряем общую загрузку страницы.
#1

Для гугла можно написать вместо ...1.6.1... 1.6 и версия всегда будет последняя из линейки 1.6, аналогично с ...1.... В яндексе такого нету:(

хер, 11.07.2011 - 20:27
#2

Я бы предложил дополненный вариант загрузки с cdn.
Т.е. сначала идет строка для загрузки скрипта с cdn яндекса, а сразу после нее следующее:

window.jQuery || document.write('')

Это на тот случай если с cdn яндекса загрузка не удалась (что маловероятно, но тем не менеее), то берем jquery со своего же хоста.

Александр, 25.06.2012 - 11:53
#3

Код, увы, вырезало...
В общем, это есть в исходниках например html5boilerplate.com

Александр, 25.06.2012 - 11:55
Оставить комментарий