Должен ли я использовать размещенную версию JQuery? Который из?

Должен ли я использовать локальную копию jquery, или я должен ссылаться на копию, предоставленную Google или Microsoft? Я в первую очередь обеспокоен скоростью. Я слышал, что просто вытягивание контента из других доменов может иметь преимущества в производительности, связанные с тем, как браузер ограничивает соединения. В частности, кто-то сравнивал скорость и латентность Google против Microsoft и локальных?

Кроме того, должен ли я соглашаться на любые условия или лицензии для ссылки с сторонних сторон?

Ответ 1

Одно из преимуществ заключается в том, что пользователь уже может кэшировать его, поскольку другой сайт также связан с третьей стороной.

Я использовал Google для этого и до сих пор не испытывал никаких проблем. Вы можете легко загрузить jQuery, используя:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load("jquery", "1.4");
</script>

Ответ 2

В любое время, когда вы используете актив, размещенный третьей стороной, вы увеличиваете количество возможных ошибок в вашем приложении. Вы также рискуете потенциальными ошибками, связанными с изменениями, внесенными в этот актив (например, исправлением ошибки или обновлением до новой версии) стороной, принимающей сторону.

Эффективность страницы может потенциально пострадать из-за различий в задержках между вашим сайтом и хостом. Сетевые сбои между клиентом и хостом могут привести к сбою вашей страницы, а также фильтрации через Интернет со стороны их интернет-провайдера. Например, использование кода, размещенного Google, вызовет проблемы для тех, кто просматривает ваш сайт из Китая.

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

Также стоит отметить, что в то время как jQuery не совсем похож на полулегкий, он не является чрезмерно большим и, как и любой JavaScript, должен быть (но не гарантированно) кэширован браузером.

Ответ 3

Большинство рекомендаций, которые я видел, заключались в использовании размещенной версии Google или Microsoft и т.д.

У Дейва Уорда хорошая статья, объясняющая причины.

3-reasons-why-you-should-let-google-host-jquery-for-you

  • Снижение задержки
  • Увеличение parallelism
  • Лучшее кэширование

Смотрите его сообщение для статистики.

Дэйв указывает, что вы должны делать это только для веб-сайтов Public Facing.

Ответ 4

Я использую хостинг библиотеки Google AJAX для нескольких клиентов. Работает как шарм, и, безусловно, лучший способ пойти.

http://code.google.com/apis/ajaxlibs/

Ответ 5

Я бы предложил загрузить jQuery из CDN, который сам предоставляет jQuery:

http://code.jquery.com/jquery-1.4.2.min.js

Вам не нужно регистрироваться в каких-либо аккаунтах, источник будет загружаться как можно ближе к пользователю, и вам не нужно беспокоиться о лицензировании.

Ответ 6

Я бы рекомендовал всегда размещать вашу собственную локальную копию.

  • Сервер может опуститься.
  • Сервер может изменить версию размещенного файла.
  • Пользователь может произвольно создавать слишком большую нагрузку на размещенный сервер, о котором они не могут волноваться.

Я думаю, что разумно использовать размещенную ссылку, когда вы отправляете образец кода, который хотите "работать", без необходимости загрузки jquery.

Ответ 7

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

Это может показаться немного бредовым для использования обоих, но хосты сторонних библиотек не на 100% непогрешимы и могут опуститься. В этих редких случаях приятно иметь резервную копию на месте, и это именно то, что рекомендует проект HTML5Boilerplate.

Здесь приведен фрагмент кода из проекта, который загружает jQuery из службы google и возвращается к локально размещенной копии, если он терпит неудачу:

<!-- Grab Google CDN jQuery, with a protocol relative URL; fall back to local if necessary -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.5.1.min.js">\x3C/script>')</script>

Насколько я могу судить, единственная возможная сторона, которая не существует для стратегий ванильной "локальной копии" или "третьей стороны", заключается в том, что есть дополнительный поиск (всегда), чтобы увидеть, попытка или неудачная попытка загрузить библиотеку из третьей стороны. Тем не менее, это очень дешевая цена для всех преимуществ, которые этот метод дает вам.

Другая сторона заключается в том, что эту же стратегию можно использовать для любого сценария размещения нескольких серверов, поэтому вы можете (и я) использовать его для других библиотек, таких как пользовательский интерфейс jQuery.

Вы также можете расширить его, чтобы использовать несколько сторонних сторон, поэтому, если Google не работает, вы можете вернуться к версии, размещенной в Microsoft, а затем, при необходимости, в локально размещенную копию.

Наконец, этот подход также относится к протоколу, поэтому он одинаково хорошо работает на страницах http и https, не вызывая каких-либо жалоб на браузер о небезопасных элементах страницы.