2013-09-09 3 views
6

Является ли это лучше, с точки зрения производительности сайта/скорости, ссылки на официальный JQuery, как это:Лучший способ для связи с JQuery файлы

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 

или поместить файлы на сервере и ссылки на них оттуда вот так:

<script src="js/jquery-1.9.1.js"></script> 
+1

[Это на самом деле хорошая идея, чтобы сделать оба] (http://stackoverflow.com/questions/14654918/html5-boilerplate-and -jquery) - CDN, вероятно, быстрее, но локальная резервная копия полезна в случае, если CDN по какой-то причине не работает. Просто убедитесь, что вы [ссылаетесь на конкретную версию на CDN] (http://stackoverflow.com/questions/12608242/latest-jquery-version-on-googles-cdn/12608285#12608285) для оптимальной выгоды для ваших посетителей. – Blazemonger

+0

, какой из них лучше для скорости сайта? –

+0

Если бы мне пришлось опасаться догадки, я бы сказал, что на стороне местного сервера. Будет быстрее, если сервер получит доступ к imo. – MitulP91

ответ

7

Это зависит от того, у кого есть более быстрый сервер, не так ли? :)

Есть несколько преимуществ с code.jquery.com:

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

  2. Скорее всего, это географически сбалансированная балансировка нагрузки. Он может загружаться быстрее для пользователей, которые находятся далеко от вашего веб-сервера.

0

Вообще говоря, с помощью CDN (например, code.jquery.com) будет иметь возможность доставить файлы пользователей быстрее, чем ваши собственные серверы - это то, что они существуют!

Возможно, вы также захотите рассмотреть возможность использования копии на своем собственном сервере в качестве резервной копии, если по какой-либо причине CDN завершится с ошибкой.

0

В первом случае вы ссылаетесь на библиотеку через удаленный URL-адрес, а во втором случае он локально доступен на сервере.

Так что это зависит от многих факторов. Наконец, о том, как далеко ваш конечный пользователь от URL-адреса jquery. Пользователь может быть ближе к хосту или хосту jquery. Также это будет зависеть от того, какой из них обслуживает запрос наиболее эффективно.

2

Как уже упоминалось, местный резерв всегда является хорошей идеей, но вы также должны соответствующим образом установить IE для версий, отличных от IE. Что-то простое, как это следует сделать трюк:

<!--[if lt IE 9]> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js""></script> 
<![endif]--> 
<!--[if gte IE 9]><!--> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
<!--<![endif]--> 

<script> 
    if (!window.jQuery) { 
     document.write('<script src="/path/to/your/jquery"><\/script>'); 
    } 
</script> 

Первой часть является условным, если для JQuery построен с обходными для старшего IE против более быстрого, более эффективной версии JQuery 2.0. Это использует CDN Google, поскольку у него есть версии http и https, тогда как code.jquery.com имеет только http. Если https не вызывает беспокойства, то, скорее всего, CDN code.jquery.com быстрее.

Вторая часть проверяет, было ли создано window.jQuery, а если нет, используйте локальную версию.

Преимущества использования версии CDN и локальной версии - это просто скорость. Мало того, что их пропускная способность сервера намного больше (МНОГО) больше, чем ваша, большинство браузеров ранее пользовались этой версией и хранили ее в кеше, поэтому браузеру не нужно ее повторно загружать.

+0

У вас есть опечатка на первом теге скрипта, вы дважды указали его. Кроме этого, я использую тот же самый код :) –

1

Лучший способ прикрепить JQuery (или любую библиотеку, которая обмена Google CDN) является:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.1.min.js"><\/script>')</script> 

Этот код ссылки JQuery из CDN (этот способ лучше, потому что пользователь может УЖЕ этот JQuery версии в. кеш браузера). После этого проверки кода jQuery успешно загружен (возможно, CDN был опущен или что-то еще ...), и если он не прикрепляет локальную версию jQuery lib к вашей странице.

Этот код используется в html5 boilerplate.

-1

Я предпочитаю использовать googleapis:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script> 

здесь why.

Смежные вопросы