2010-06-28 84 views
1

頁面後我寫了一個插件,jQuery的,這些廣告的JavaScript的輸出複製到有div容器。加載廣告加載jQuery的

所以我把廣告JS在頁面的底部(這樣它們就不會降低我的網頁加載速度)不可取的div,看起來像內:

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

這些div的id指向容器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); 

該插件的AdSense和FF和Chrome和IE8的偉大工程......其他一些廣告程序......但開始的問題,在IE7 ......從某種原因,有時在容器中的廣告加載,有時他們不...

什麼是錯我的插件?

回答

0

我簡化了一下。

(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後顯示它們。

+0

這是行不通的,因爲使用的JavaScript有文件撰寫,因此將所有的頁面......上寫的,這就是爲什麼我告訴插頭逃脫script標籤的所有廣告節目... – CaTz 2010-07-01 13:53:07