Включение файла JavaScript. Разве я не должен ссылаться на <head>? - PullRequest
1 голос
/ 14 декабря 2010

Я смотрю Дугласа Крокфордса " Теория DOM ", и он упомянул, что расположение моих тегов скрипта может сильно повлиять на время загрузки моих приложений.Кроме того, он утверждает, что тег сценария должен быть включен как можно ближе к нижней части тела документа.

Это точно?

ИЛИ

Является ли это видео устаревшим? (который он на самом деле приводит в качестве причины, по которой он не стал читать лекции по DOM раньше).

Ответы [ 5 ]

2 голосов
/ 14 декабря 2010
1 голос
/ 14 декабря 2010

Вы также можете использовать http://labjs.com/.

Как указано на странице проекта:

LABjs (загрузка и блокировка JavaScript) - это проект с открытым исходным кодом (лицензия MIT)поддерживается Getify Solutions.Основная цель LABjs - быть универсальным загрузчиком JavaScript по требованию, способным загружать любой ресурс JavaScript из любого места на любую страницу в любое время.Загрузка ваших сценариев с помощью LABjs уменьшает блокировку ресурсов во время загрузки страницы, что является простым и эффективным способом оптимизации производительности вашего сайта.

LABjs по умолчанию загружает (и выполняет) все сценарии параллельно так же быстро, как браузерпозволит.Однако вы можете легко указать, какие сценарии имеют зависимости порядка выполнения, и LABjs обеспечит правильный порядок выполнения.Это делает LABjs безопасным для использования практически с любым ресурсом JavaScript, независимо от того, управляете вы им или размещаете его, и является ли он автономным или частью большого дерева зависимостей ресурсов.

Использование LABjs заменит все это безобразие "тег суп "- это все теги, которые обычно появляются в или в конце вашей HTML-страницы.API является выразительным и связующим, позволяя вам указать, какие скрипты загружать и когда ждать («блок»), если необходимо, для выполнения, прежде чем продолжить дальнейшее выполнение.API также позволяет легко выполнять связывание при выполнении встроенного кода (например, встроенные теги).

LABjs теперь имеет привилегию воспользоваться преимуществами сотрудничества со Стивом Соудерсом и стремится стать единственным лучшим решением для оптимизированного, гибкого общего сценариязагрузка доступна.

1 голос
/ 14 декабря 2010

Файлы, включенные в заголовок, загружаются еще до начала загрузки остальной части страницы.Рекомендуется загружать ненужные файлы как можно ближе к нижней части страницы, чтобы можно было заранее загрузить остальную часть страницы.

Существует несколько библиотек JS (таких как LABjs), которые можно загрузитьв шапке вместо.Затем они позволяют асинхронно загружать все остальные ваши активы JS и обеспечивают обратный вызов, чтобы остальная часть кода могла выполняться, когда вы знаете, что ваши ресурсы JS были загружены.

0 голосов
/ 14 декабря 2010

Я также слышал, что JavaScript должен быть включен в конце страницы, чтобы «надеяться», что DOM загрузится. Я полагаю, что прочитал это в документации Yahoo некоторое время назад.

0 голосов
/ 14 декабря 2010

Ну, это правильно.Если вы не используете что-то вроде head.js, которое загружает ваши файлы javascript параллельно.Да, и некоторые сценарии должны быть перед контентом.Например, скрипт html5-shiv.

http://headjs.com/

...