Код Яндекс.Директ на странице тормозит загрузку

На проекте bbz.ru, титульной странице, прямо в центре страницы (средняя колонка) имеется рекламный блок Яндекс.Директа.
Постоянно при загрузке страницы можно наблюдать, как шапка, левая колонка и часть средней колонки до баннера загрузились и браузер ждет завершения загрузки an.yandex.ru, чтобы продолжить рендеринг страницы.

Это жутко раздражает, как исправить код рекламного блока яндекса, чтобы он так не портил отрисовку страниц на проекте?

1 ответов


Вопрос решает добавление атрибута defer в строку, имеющую src.
Пример:


<script defer src="...">
 

Пример Яндекса:

document.write('<sc'+'ript defer type="text/javascript" src="http://an.yandex.ru/system/context.js"></sc'+'ript>');
 

Источник: www.w3.org

Странный вопрос, вся проблема в вашем случае в строке:


document.write('<sc'+'ript type="text/javascript" src="http://an.yandex.ru/system/context.js"></sc'+'ript>');
 Из-за которой происходит загрузка скрипта, из-за чего в некоторых браузерах дальнейшее построение DOM подвисает (что логично).

Достаточно сделать загрузку этого скрипта асинхронной). Надеюсь помог.

Например можно подгрузить его с помощью FULLAJAX
http://habrahabr.ru/blogs/fullajax/56974/
http://fullajax.ru/