Код Яндекс.Директ на странице тормозит загрузку
На проекте bbz.ru, титульной странице, прямо в центре страницы (средняя колонка) имеется рекламный блок Яндекс.Директа.
Постоянно при загрузке страницы можно наблюдать, как шапка, левая колонка и часть средней колонки до баннера загрузились и браузер ждет завершения загрузки an.yandex.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/