JavaScript - Как я удостоверяюсь, что jQuery загружается?

Вероятно, лучший выбор сеть-snmp . Обратите внимание, что библиотека имеет "C" связь, но будет работать просто великолепно с C++.

20
задан Villager 12 July 2009 в 21:33
поделиться

6 ответов

Библиотека jQuery должна быть включена в часть вашей страницы:

<script src="/js/jquery-1.3.2.min.js" type="text/javascript"></script>

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

Чтобы ваш код выполнялся, когда DOM завершила загрузку (потому что вы действительно не можете много использовать библиотеки jQuery, пока это не произойдет), сделайте следующее:

$(function () {
    // Do stuff to the DOM
    $('body').append('<p>Hello World!</p>');
});

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

jQuery(function ($) { // First argument is the jQuery object
    // Do stuff to the DOM
    $('body').append('<p>Hello World!</p>');
});
12
ответ дан 29 November 2019 в 22:40
поделиться

Когда браузер обнаруживает элемент script , он блокируется, что означает, что пока у вас есть элемент script , который загружает jQuery перед любой сценарий, который хочет использовать jQuery, все должно быть в порядке, например

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
    // jQuery is available

    $(document).ready(function(){
        // ...
    });
</script>

См. Порядок загрузки JavaScript для некоторых дополнительных комментариев по этой теме.

1
ответ дан 29 November 2019 в 22:40
поделиться

Могут возникнуть две проблемы. Во-первых, вам нужно убедиться, что jQuery включен перед любыми скриптами, которые его используют. Это может быть сложно, если у вас есть встроенный javascript. Если вы загружаете jQuery в заголовок, а все остальные скрипты в блок скриптов в конце тела, вы можете быть уверены, что jQuery загружается раньше вашего другого кода. Я стараюсь помещать все в конец тела, причем jQuery является первым загруженным скриптом.

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

<script type='text/javascript' src='.../path-to-jquery/jquery.js'></script>
$(document).ready( function() {
   ...your code here...
});

или (сокращенно)

<script type='text/javascript' src='.../path-to-jquery/jquery.js'></script>
$(function() {
   ... your code here...
});
2
ответ дан 29 November 2019 в 22:40
поделиться

Поместите свой код после jquery и сделайте следующее

$(document).ready( { // your code } );
0
ответ дан 29 November 2019 в 22:40
поделиться

В общем, вы просто используете следующий базовый тест «загружен документ» в jquery . Прямо из учебника по jquery для начинающих :

 $(document).ready(function() {
   // do stuff when DOM is ready
 });

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

0
ответ дан 29 November 2019 в 22:40
поделиться

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

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

Мне очень помог за последний год или около того Стив Содерс, сначала, когда он работал в Yahoo, а теперь и в Google. Если у вас есть время, посмотрите его слайды для Даже более быстрые веб-сайты и Высокопроизводительные веб-сайты . Превосходно. Продолжите здесь.

При прикреплении файлов javascript к DOM было обнаружено, что размещение встроенного тега