Как отложить синтаксический анализ JavaScript

Рано или поздно большинство веб-мастеров озадачивается вопросом оптимизации сайта для его быстрейшей загрузки.

Все утилиты, анализирующие скорость загрузки сайта, выдают ряд рекомендаций о том, что нужно сделать для быстрейшей загрузки. Более подробно работа с этими утилитами будет рассмотрена в отдельной статье, сейчас же хотелось бы коснуться лишь одного пункта, - откладывание синтаксического анализа JavaScript.

Получив от плагина сообщение "При начальной загрузке страницы выполняется синтаксический анализ JavaScript в объеме 142.2Кб. Чтобы ускорить отображение страницы, отложите синтаксический анализ JavaScript", начинающие веб-мастера впадают в ступор: "как его отложить-то?!?"

На самом деле все несложно.

Можно запустить скрипт через какое-то время после загрузки документа, а не сразу:

<script type="text/javascript">
function onLoadScript () {
var scri = document.createElement('script');
scri.src = '<путь к файлу>';
document.body.appendChild(scri);
}
window.onload = function () {setTimeout(onLoadScript, <количество миллисекунд после загрузки документа>)}
</script>

в качестве примера:

<script type="text/javascript">
function onLoadScript () {
var scri = document.createElement('script');
scri.src = 'chtoto.js';
document.body.appendChild(scri);
}
window.onload = function () {setTimeout(onLoadScript, 1500)}
</script>

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

Счетчики


Рейтинг@Mail.ru