Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Существует несколько решений, как то:
— поместить стили и скрипты прямо в страницу;
— установка аттрибутов async/defer тегу script;
— склеить все скрипты в один файл;
— помесить ссылки на скрипты в конец body;
— разместить все файлы на CDN/на разных хостах;
$.getScript(myUrl, myCallback, FALSE);
$(function(){
head.ready(
function() {
/*code*/
})
});
head.js("jquery.js");
head.ready("jquery.js", function() {
// и $(function(){}) уже не нужен, этот код будет вызван, когда готова страница И jquery
});
head.ready("jquery.js", function() {
// вызывается, когда загружен и исполнен jquery.js (DOM может быть и не готов) - тут внутри уже имеет смысл использовать $(function(){...}), но никак не наоборот
});
head.ready(function() {
// вызывается, когда готов DOM и загружены и исполнены ВСЕ скрипты, тут безопасно вызывать любые методы $, но может оказаться, что можно было безболезненно и раньше, до загрузки Google Analytics, например
});head.ready(document, function() {
// вызывается, когда DOM готов
// имеет смысл поместить сюда вложенный обработчик события загрузки jQuery:
head.ready("jquery.js", function() {
// вызывается, когда загружен и исполнен jquery.js (и DOM к тому моменту уже тоже готов)
});
});
Параллельная загрузка JavaScript и CSS без блокирования парсинга страницы