Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Загрузка рекламы по мере просмотра страницы
Возможно, Вы заметили, что на популярых ресурсах с высокой посещаемостью рекламные блоки загружаются не все сразу, а только когда Вы прокрутите страницу до них.
Это делается с несколькими целями, во-первых, снижается нагрузка на сервер, во-вторых, быстрее грузится страница, в-третьих, повышается показатель CTR, т.е. отношение кликов к просмотрам, т.к. многих просмотров реально не было.
Вот два рекламных блока, в которые будет загружена реклама:
// Рекламный баннер 1. Загружается сразу после загрузки основного контента страницы:
<div id="banner1" style="margin-top:15px;width:300px;height:150px;visibility:hidden;"></div>
// Рекламный баннер 2. Загружается после прокрутки страницы до области баннера:
<div id="banner2" style="margin-top:15px;width:180px;height:60px;visibility:hidden;"></div>
Исходный код этого примера:
<script>
// id - id DIV-блока в который будет загружен баннер
// onScroll=true - загрузить при прокрутке страницы
// =false - загрузить сразу
// url=адрес страницы, которую нужно загрузить
var BannerLoader = function(id, onScroll, url){
var cm=(document.compatMode=="CSS1Compat"),de=document.documentElement,db=document.body;
var banner=obj=document.getElementById(id);
if (!obj)return;
var code=function(){
return '<iframe src="'+url+'" frameborder="0" vspace="0" hspace="0" width="'+obj.style.width+'" height="'+obj.style.height+'" marginwidth="0" marginheight="0" scrolling="no" style="overflow:hidden"></iframe>';
};
if (!onScroll) { obj.innerHTML = code(); banner.style.visibility = "visible"; return; }
var ar_top = parseInt(obj.style.height)/2;
while(obj.offsetParent){ ar_top += obj.offsetTop; obj = obj.offsetParent; }
var ar_scroll = function(){
var ch = self.innerHeight || cm && de.clientHeight || db.clientHeight;
var st = self.pageYOffset || cm && de.scrollTop || db.scrollTop;
if (ar_top > st && st + ch > ar_top) {
removeEvent(window, 'scroll', ar_scroll);
banner.style.visibility = "visible";
banner.innerHTML = code();
}
};
addEvent(window, 'scroll', ar_scroll);
ar_scroll();
};
onDomReady(function(){
new BannerLoader("banner1", false, '/images/sunlife.jpg?rnd=' + Math.round(Math.random() * 100000000));
new BannerLoader("banner2", true, '/pic/eaiti180x60.gif?rnd=' + Math.round(Math.random() * 100000000));
});
</script>
Рекламный баннер 1 загружается сразу после загрузки основного контента страницы:
Чтобы увидеть второй рекламный баннер, прокрутите страницу вниз.
Используемые здесь дополнительные функции вы можете взять здесь: onDomReady и addEvent.
Если Вам необходимо для загрузки рекламы использовать не iframe
, а script
, посмотрите, как динамически подгружать скрипты.
Рекламный баннер 2 загружается после прокрутки страницы до области баннера:
.
Прокомментировать/Отблагодарить