Подтвердить что ты не робот

Каковы преимущества использования google.load('jQuery',...) против прямого включения размещенного URL script?

В Google размещены популярные библиотеки JavaScript: http://code.google.com/apis/ajaxlibs/

Согласно google:

Самый мощный способ загрузки библиотек - использовать google.load()...

Каковы реальные преимущества использования

google.load("jquery", "1.2.6")

против.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>

?

4b9b3361

Ответ 1

Помимо того, что Google может объединить несколько файлов вместе с запросом, нет никакого преимущества для использования google.load. Фактически, если вы знаете все библиотеки, которые хотите использовать (скажем, только jQuery 1.2.6), вы, возможно, заставляете браузер пользователя выполнять одно ненужное HTTP-соединение. Поскольку весь смысл использования хостинга Google заключается в сокращении потребления полосы пропускания и времени отклика, лучшее решение - если вы просто используете 1 библиотеку - это напрямую обращаться к этой библиотеке.

Кроме того, если ваш сайт будет использовать SSL-сертификаты, вы планируете его, вызвав script через соединение Google HTTPS. Нет недостатка в вызове https script с http-страницы, но вызов http script с https-страницы вызовет более неясные проблемы отладки, о которых вы хотели бы подумать.

Ответ 3

Это позволяет Google изменять URL (но они не могут, поскольку метод URL уже установлен)

В теории, если вы делаете несколько google.load() s, Google может объединить их в один файл, но я не думаю, что это реализовано.

Ответ 4

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

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

Ответ 5

Возможно, вы захотите загрузить библиотеку только в особых условиях.

Кроме того, метод google.load ускорит отображение начальной страницы. В противном случае рендеринг страницы замерзнет, ​​пока файл не будет загружен, если вы добавите теги script в свой HTML-код.

Ответ 6

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

Изменить: Да, по крайней мере, при использовании прямых тегов script в этом месте библиотека javascript будет кэшироваться, если кто-то уже вызвал библиотеку из Google (например, если она была включена другим сайтом где-то).

Ответ 7

Если вы должны написать лодку с JavaScript, которая использовала только библиотеку при возникновении определенного события, вы можете подождать, пока произойдет событие, чтобы загрузить библиотеку, которая позволяет избежать ненужных HTTP-запросов для тех, кто на самом деле не запускает событие. Однако в случае библиотек, таких как Prototype + Scriptaculous, которые загружают более чем 300 КБ кода JavaScript, это нецелесообразно.