JavaScript - Как мне убедиться, что jQuery загружен?

У меня есть веб-страница. Когда эта веб-страница загружена, я хочу выполнить JavaScript. Этот JavaScript использует JQuery. Однако, похоже, что при загрузке страницы библиотека jQuery была загружена не полностью. Из-за этого мой JavaScript не выполняется должным образом.

Каковы некоторые рекомендации для обеспечения загрузки вашей библиотеки jQuery перед выполнением JavaScript?

6 ответов

Решение

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

<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>');
});

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

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

Большую помощь мне за последний год оказал Стив Соудерс, сначала в Yahoo, а теперь в Google. Если у вас есть время, ознакомьтесь с его слайдами для сайтов "Еще быстрее" и " Высокопроизводительные". Отлично. Для огромного перефразирования, продолжайте здесь.

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