<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title><![CDATA[Loadation]]></title>
	<description><![CDATA[Flux RSS des articles]]></description>
	<pubDate>Mon, 10 Nov 2008 12:09:56 +0100</pubDate>
	<link>http://www.loadation.net</link>
	<language>fr</language>
	<generator>http://www.eklablog.com</generator>
	
	<item>
		<title><![CDATA[Google Adsense & Ajax]]></title>
		<link>http://www.loadation.net/article-785-1823-google-adsense-ajax.html</link>
		<dc:creator>Skreo</dc:creator>
		<description><![CDATA[J&#39;ai d&eacute;cid&eacute; d&#39;utiliser la r&eacute;gie Google Adsense pour les publicit&eacute;s affich&eacute;es sur EklaBlog.com. Le probl&egrave;me, c&#39;est que Google n&#39;a pas pr&eacute;vu l&#39;utilisation des annonces sur des pages charg&eacute;es par Ajax.
 Au d&eacute;but, 2...]]></description>
		<content:encoded><![CDATA[J&#39;ai d&eacute;cid&eacute; d&#39;utiliser la r&eacute;gie Google Adsense pour les publicit&eacute;s affich&eacute;es sur EklaBlog.com. Le probl&egrave;me, c&#39;est que Google n&#39;a pas pr&eacute;vu l&#39;utilisation des annonces sur des pages charg&eacute;es par Ajax.<br /> Au d&eacute;but, 2 solutions se pr&eacute;sentaient &agrave; moi :<br /> - Essayer d&#39;inclure normalement le code de l&#39;annonce : Au premier chargement de la page, pas de probl&egrave;me, mais elle ne s&#39;affiche plus quand le contenu de la page change, car le script ne peut plus &ecirc;tre ex&eacute;cut&eacute;...<br /> - Utiliser une iframe (eurkk... pas valide...) contenant la pub, recharg&eacute;e &agrave; chaque changement du contenu de la page<br /> <br /> Il faut savoir que la page javascript de google (http://pagead2.googlesyndication.com/pagead/show_ads.js) affiche une iframe contenant les annonces avec la fonction document.write, fonction native de javascript. L&#39;astuce consiste &agrave; modifier cette fonction, pour g&eacute;rer l&#39;affichage de la pub.<br /> On va g&eacute;rer l&#39;affichage de la pub par une fonction qui sera appel&eacute;e &agrave; chaque chargement de page par Ajax. On verra cette fonction apr&egrave;s.<br /> Enfin, le dernier probl&egrave;me, c&#39;est que Google n&#39;autorise pas plus de 3 affichages de publicit&eacute;s par page. Et bien s&ucirc;r, dans un site Ajax, il n&#39;y a pas de rechargement complet de page. Donc &agrave; priori, la pub s&#39;affiche au chargement de la page, et aux 2 prochains changements du contenu de la page. Le truc c&#39;est de supprimer toutes les variables cr&eacute;&eacute;es par Google. Ainsi, Google croit toujours qu&#39;il en est &agrave; la premi&egrave;re pub.<br /> <br /> Voici le code javascript de la fonction qu&#39;on va utiliser pour afficher la pub :<br /> <br /> <pre class="code">&lt;script type=&quot;text/javascript&quot;&gt;<br /> // Affiche la publicit&eacute; Google<br /> function showAdGoogle(){<br /> &nbsp;&nbsp;&nbsp; // On supprime toutes les variables cr&eacute;&eacute;es par Google :<br /> &nbsp;&nbsp;&nbsp; for(i in window){<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(i.substring(0,7)==&quot;google_&quot;){<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window[i] = null;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br /> &nbsp;&nbsp;&nbsp; }<br /> &nbsp;&nbsp;&nbsp; // Variables fournies &agrave; google pour l&#39;apparence de la pub<br /> &nbsp;&nbsp;&nbsp; google_ad_client = &quot;pub-8434410332296691&quot;; // Id de l&#39;utilisateur<br /> &nbsp;&nbsp;&nbsp; google_ad_width = 468;<br /> &nbsp;&nbsp;&nbsp; google_ad_height = 60;<br /> &nbsp;&nbsp;&nbsp; google_ad_format = &quot;468x60_as&quot;;<br /> &nbsp;&nbsp;&nbsp; google_ad_type = &quot;text_image&quot;;<br /> &nbsp;&nbsp;&nbsp; google_color_border = &quot;0000FF&quot;;<br /> &nbsp;&nbsp;&nbsp; google_color_bg = &quot;DDDDFF&quot;;<br /> &nbsp;&nbsp;&nbsp; google_color_link = &quot;0000FF&quot;;<br /> &nbsp;&nbsp;&nbsp; google_color_text = &quot;000000&quot;;<br /> &nbsp;&nbsp;&nbsp; google_color_url = &quot;008000&quot;;<br /> &nbsp;&nbsp;&nbsp; var s = document.createElement(&#39;script&#39;); // On cr&eacute;e une balise script pour charger le script de Google<br /> &nbsp;&nbsp;&nbsp; s.type = &#39;text/javascript&#39;;<br /> &nbsp;&nbsp;&nbsp; s.src = &quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;;<br /> &nbsp;&nbsp;&nbsp; document.body.appendChild(s);<br /> }<br /> // Red&eacute;finition de document.write pour l&#39;affichage de la pub Google Adsense<br /> document.write = function(t){<br /> &nbsp;&nbsp;&nbsp; var d = document.getElementById(&quot;content_pub_google&quot;);<br /> &nbsp;&nbsp;&nbsp; if(d) d.innerHTML += t;<br /> &nbsp;&nbsp;&nbsp; else document.body.innerHTML += t;<br /> }<br /> &lt;/script&gt; </pre> <br /> <br /> Et dans la page, pour afficher la pub :<br /> <br /> <pre class="code">&lt;div id=&quot;content_pub_google&quot; style=&quot;width: 468px;&quot;&gt;&lt;/div&gt;<br /> &lt;script type=&quot;text/javascript&quot;&gt;<br /> showAdGoogle();<br /> &lt;/script&gt; </pre> <br /> <br /> <br /> Lorsque la page est charg&eacute;e par Ajax, il faut passer le code &quot;showAdGoogle();&quot; dans des balises &lt;js&gt; par exemple, et traiter le xml pour ex&eacute;cuter le js. Et bien s&ucirc;r il ne faut pas oublier de remettre le div content_pub_google <img alt=" " src="http://chazlin.murties.com/images/emoticons/%5E%5E.gif" /><br /> Pour &ccedil;a, rien de plus simple : si la variable contenant xml s&#39;appelle reponse :<br /> <br /> for(var i=0;i&lt;reponse.getElementsByTagName(&quot;js&quot;).length;i++)<br /> &nbsp;&nbsp;&nbsp; setTimeout(reponse.getElementsByTagName(&quot;js&quot;)[i].firstChild.nodeValue, 0);<br /> <br /> <br /> <br /> Voil&agrave;, j&#39;esp&egrave;re que ce petit tuto pourra aider quelqu&#39;un <img alt=" " src="http://chazlin.murties.com/images/emoticons/wink.gif" />]]></content:encoded>
		<pubDate>Sat, 10 Mar 2007 22:55:00 +0100</pubDate>
		<guid isPermaLink="true">http://www.loadation.net/article-785-1823-google-adsense-ajax.html</guid>
	</item>
</channel>
</rss><!--mdp=-->