2010-06-28 7 views
1

J'ai écrit un plug-in pour jQuery qui copient la sortie de l'annonce JavaScript vers son conteneur Div.Charger les publicités après la page Loaded With jQuery

donc je mis les annonces JS au bas de la page (afin qu'ils ne diminuera pas ma page vitesse de chargement) dans Divs déconseillés qui ressemble à:

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

l'id de ces divs pointent vers le récipient divs le conteneur divs ressemble:

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

l'attend plug-in jQuery pour le chargement de fin de page et saisit alors tous les éléments qui ont créé dans les divs invisibles et les ajoute au conteneur div.

Le jQuery plug-in ressemble:

(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); 

ce plug-in fonctionne très bien dans FF et Chrome et IE8 ... sur Adsense et autres programmes annonces ... mais les problèmes commence sur IE7 ... Pour une raison quelconque, parfois les publicités se charge dans les conteneurs et parfois non ...

Quel est le problème avec mon plugin?

Répondre

0

J'ai simplifié un peu.

(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); 

REMARQUE: Si vous cachez les divs bas, vous devrez peut-être leur montrer après avoir remplacé les divs vides avec eux.

+0

cela ne fonctionnera pas, car tous les programmes d'annonces en utilisant document.write dans javascript, donc il va écrire sur toute la page ... c'est pourquoi j'ai dit à la prise pour échapper le tag de script ... – CaTz

Questions connexes