JavaScript: загрузка jQuery по требованию - PullRequest
3 голосов
/ 23 октября 2009

Какой самый простой способ динамически включать библиотеку jQuery в страницу? Я работаю над страницей, на которой иногда запускается несколько пользовательских скриптов (10 строк), а в других случаях также необходим весь jquery.

Ответы [ 7 ]

10 голосов
/ 23 октября 2009

Просто добавьте тег сценария для jQuery, когда вам это нужно:

var script = document.createElement('script'); 
script.type = 'text/javascript'; 
script.src = 'http://www.example.com/jquery.js';
document.body.appendChild(script); 
2 голосов
/ 23 октября 2009

Просто иди и включи его.

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

W.r.t ваши комментарии: Как часто вы проверяете страницы на своем сайте? Если ваш сайт взломан, как скоро вы узнаете? Если бы размещенный в Google код был изменен, скорость обнаружения была бы на много порядков выше, а последствия для вашего сайта были бы относительно небольшими, IMO.

1 голос
/ 23 октября 2009

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

Если вы ДОЛЖНЫ загрузить его по требованию, вы можете написать код для добавления тега сценария к телу. Этот код довольно распространен.

void((function(){
  var e=document.createElement('script');
  e.setAttribute('type','text/javascript');
  e.setAttribute('src','jquery.js');
  document.body.appendChild(e)
})());
1 голос
/ 23 октября 2009

Включить его из CDN Google:

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

Существует большая вероятность того, что ваши клиенты уже кэшируют jQuery в своих браузерах.

1 голос
/ 23 октября 2009

Что ж, как только пользователь уже загрузил JQuery, он кэшируется в их системе, поэтому включение его после первой начальной загрузки действительно тривиально. С тем же успехом вы можете просто включить его на ту страницу, на которой он вам нужен, и не беспокоиться о том, чтобы попытаться добавить его в среду выполнения JS позже на странице.

0 голосов
/ 23 октября 2009
    <script src="http://www.google.com/jsapi"></script> 
<script> 
//your awesome google
 google.load("jquery", "1");
  </script>

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

извините за двойной код, я все еще начинаю на этом сайте, но я не могу найти кнопку ответа

0 голосов
/ 23 октября 2009

Может быть, вы найдете API Google AJAX полезными. Вы можете вызвать load jQuery в любое время, позвонив по номеру:

google.load("jquery", "1");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...