Загружать рекламу после страницы, загруженной с помощью jQuery

Я написал плагин для jQuery, который копирует вывод объявлений JavaScript в контейнер Div.

поэтому я помещаю Ads JS внизу страницы (чтобы они не снижали скорость загрузки моей страницы) в нежелательных элементах Div, которые выглядят так:

<div id="ad_loader_4" class="ads_loader"></div>

идентификатор этих div указывает на контейнерные div. контейнер div выглядит так:

<div id="ad_4"></div>

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

Плагин jQuery выглядит так:

(function($) {  
// jQuery plugin definition  
$.fn.adsLoader = function(params) {  
    // merge default and user parameters  
    params = $.extend( {}, params);  
    // traverse all nodes  
    this.each(function() {  
        // express a single node as a jQuery object  
        var $t = $(this);  
        // find id  
        var id = $t.attr('id');
        id = id.substring(10,id.length);
        $t.children().not('script').appendTo("#ad_"+id);
    });  
    // allow jQuery chaining  
    return this;  
};  
})(jQuery);

этот плагин отлично работает в FF, Chrome и IE8... в Adsense и некоторых других рекламных программах... но проблемы начинаются в IE7... По какой-то причине реклама иногда загружается в контейнеры, а иногда нет. ..

Что не так с моим плагином?


person CaTz    schedule 28.06.2010    source источник


Ответы (1)


Я немного упростил.

(function($) {
// jQuery plugin definition
$.fn.adsLoader = function() {
    // traverse all nodes
    this.each(function() {
        // get ad id and replace
        var id = this.id.substr(10);
        $("#ad_"+id).replaceWith(this);
    });
    // allow jQuery chaining
    return this;
};
})(jQuery);

ПРИМЕЧАНИЕ. Если вы скрываете нижние элементы div, вам может потребоваться показать их после замены пустых элементов div.

person gblazex    schedule 28.06.2010
comment
это не сработает, потому что все рекламные программы, использующие document.write, там javascript, поэтому он будет писать на всей странице... вот почему я сказал плагину избегать тега script... - person CaTz; 01.07.2010