Запускать встроенный jQuery после полной загрузки библиотеки jQuery в нижней части документа?

#jquery #function #jquery-3

#jquery #функция #jquery-3

Вопрос:

У меня есть большая встроенная функция jQuery, которую я хочу запустить после загрузки библиотеки jQuery в нижней части. В противном случае я бы получил «Неперехваченную ошибку ссылки». Поэтому я преобразовал функцию в функцию тайм-аута, которая работает, но только до тех пор, пока DOM загружается быстрее, чем требуется время ожидания. Я уже пробовал функцию window-on-load, которая также возвращает мне «Неперехваченную ошибку ссылки».

HTML-документ выглядит следующим образом:

 <html>
<head>
...
</head>
<body>
...
<script>

    // Inline jQuery that needs to stay inline

    setTimeout( function(){ 

        // Run my big jQuery function

    }, 100 );

</script>
...
<script src="jQuery-library.js" ><script>
<script src="my-jQuery-functions.js" ><script>
</body>
  

Есть ли какой-либо способ запустить мою встроенную функцию после полной загрузки библиотеки jQuery в нижней части документа и, возможно, БЕЗ перемещения библиотеки jQuery в начало? Заранее большое вам спасибо!

Комментарии:

1. Почему вы не можете просто переместить скрипт под jQuery?

Ответ №1:

Вы можете реагировать на load событие, которое происходит после завершения загрузки всех ресурсов (скриптов, изображений и т. Д.):

 <script>
window.addEventListener("load", function () {
  $(function () {
      $("body").append("<p>jQuery is available now!</p>");
      
      // Run my big jQuery function
  });
}, false);
</script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>  

Комментарии:

1. ВАУ — Спасибо вам ооочень большое! Это избавило меня от большой головной боли и в то же время очень просто! Отлично, еще раз спасибо!