Располагаем JavaScript-файлы в конце страницы. Разгоняем ASP.NET: 100 баллов и оценка "A" в YSlow. Практическое приложение. Оптимизация структуры веб-страниц
Используем CDN (Content Delivery Networks)
Добавляем заголовок Expires
Располагаем CSS-файлы в начале страницы
Располагаем JavaScript-файлы в конце страницы
Уменьшаем число DNS-запросов
Уменьшаем JavaScript
Удаляем дублирующиеся скрипты
Настройте ETag
Иногда следовать этому правилу очень сложно. Например, иногда хочется добавить jQuery в самом начале, чтобы потом не волноваться на тему того, загрузилась ли эта библиотека. В любом случае, для всех ваших скриптов будет хорошей практикой проверять, загрузилась ли основная библиотека, прежде чем выполнять какие-либо действия.
Например, файл:
Library.js
может содержать
function DoSomething()
{
}
А после этого прямо в коде страницы:
<script type='text/javascript'>
if (typeof (DoSomething) == 'undefined')
{
alert('Library is not loaded yet');
}
</script>
Приведенный пример будет недостаточно верным, потому что загружаемая функция может быть доступна на странице после некоторого времени. Лучше всего создавать дополнительную клиентскую логику, использующую определнный модуль, в самом этом модуле либо проверять через равные промеутки времени, доступен ли необходимый функционал. Более подробно данные техники были освещены в главе «Ненавязчивый JavaScript» книги «Разгони свой сайт».