Существует атрибут defer
, который вы можете поместить в блоки скрипта, чтобы отложить его выполнение до завершения загрузки страницы.
<script src="myscript.js" type="text/javascript" defer>
// blah blah
</script>
Я не уверен насчет общей рекомендации по использованию этого атрибута.
РЕДАКТИРОВАТЬ: Как указал @David, используйте defer="defer"
для XHTML
И вы всегда можете поместить код в событие window.onload
, чтобы оно выполнялось после загрузки страниц:
window.onload = function () {
// ad codes here
};
Но более поздний подход может создать некоторые проблемы, вы можете сначала проверить его.
Подробнее о этом блоге Дина Эдвардса, парня, который написал знаменитый упаковщик javascript .
РЕДАКТИРОВАТЬ: Если проблема связана с размером рекламного кода, вы всегда можете отложить загрузку, комбинируя вышеуказанные методы с внедрением скрипта через document.write
:
function loadScript(src) {
document.write('<script src="' + src + '" type="text/javascript"></script>');
}
Таким образом, полученный код может выглядеть примерно так:
<script type="text/javascript" defer>
function loadScript(src) {
document.write('<script src="' + src + '" type="text/javascript"></script>');
}
loadScript('http://ads.example.com/advertisements.js');
</script>
Но, как я уже сказал, это также зависит от конкретного рекламного кода, который вы получаете. Из-за позиции document.write
напишет материал, который может оказаться не тем местом, которое вы хотите. Некоторые изменения могут быть необходимы.