Я делаю так, чтобы загружать скрипты везде, в основном в <head>
, затем сохранять массив функций, подобный очереди, для запуска, а затем перед тем, как </body>
перебрать эти скрипты и запустить их. Я мог бы поставить все сценарии в конце <body>
, если захочу, но мне легче поместить теги <script>
рядом с тем местом, где они актуальны - гораздо легче найти их снова.
Если вам это не нравится, вы можете установить атрибуты async
и defer
тега <script>
. Это означает, что загрузка и выполнение сценариев будут ждать, пока ресурсы не станут доступны (например, пропускная способность со страницы, заканчивающей загрузку).
Если вам требуется загрузить изображения и другой контент перед запуском определенного кода, используйте window.load
. В противном случае document.ready
в порядке.