Каковы преимущества использования 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>
?
Ответы
Ответ 1
Помимо того, что Google может объединить несколько файлов вместе с запросом, нет никакого преимущества для использования google.load. Фактически, если вы знаете все библиотеки, которые хотите использовать (скажем, только jQuery 1.2.6), вы, возможно, заставляете браузер пользователя выполнять одно ненужное HTTP-соединение. Поскольку весь смысл использования хостинга Google заключается в сокращении потребления полосы пропускания и времени отклика, лучшее решение - если вы просто используете 1 библиотеку - это напрямую обращаться к этой библиотеке.
Кроме того, если ваш сайт будет использовать SSL-сертификаты, вы планируете его, вызвав script через соединение Google HTTPS. Нет недостатка в вызове https script с http-страницы, но вызов http script с https-страницы вызовет более неясные проблемы отладки, о которых вы хотели бы подумать.
Ответ 2
Ответ 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, это нецелесообразно.