web-dev-qa-db-fra.com

Actualiser une div qui contient une annonce Google

J'ai un <div> qui contient une annonce Google. Mon site Web est principalement composé de AJAX et il n'est pas nécessaire d'actualiser votre navigateur. Cela signifie que mes annonces ne seront pas actualisées non plus, ce qui n'est pas idéal, car un internaute regarde une annonce toute la journée. 

Je voulais donc un moyen d'actualiser un <div> particulier sur une page. J'ai trouvé beaucoup de solutions mais elles n'ont pas fonctionné. Par exemple, en utilisant la fonction html de JQuery:

$("#ads").html("google ad script here");

Cela a réussi à actualiser toute la page sans savoir comment. Je peux également envoyer une requête AJAX à une page HTML contenant la publicité Google, mais je suppose que cela aura le même effet que la tentative ci-dessus.

Je ne veux pas utiliser iFrames.

Y a-t-il une autre option ouverte à moi? Mon cerveau de pois ne peut plus penser. :)

MODIFIER:

Cela est autorisé car je ne lancerai l'actualisation que lorsqu'un utilisateur cliquera sur un lien.

Yahoo Mail en est un excellent exemple. Leur nouvelle boîte aux lettres AJAX utilise la même méthode. Lorsqu'un utilisateur clique sur un lien, une nouvelle annonce est affichée.

40
Abs

Les nouveaux "tags" de Google DFP permettent spécifiquement de "rafraîchir les annonces pour AJAX"

rafraîchir

pubService.refresh (slots) Actualise le groupe d'emplacements spécifié sur la page avec les nouvelles annonces.

Paramètres:

baies de baies - Baies de baies facultatives à actualiser. Si ce n'est pas le cas, tous les espaces publicitaires sont actualisés . Exemple:

var slot1 = googletag.defineUnit ("/ 1234567/leaderboard", [728, 90], "div-1"). addService (googletag.pubads ());

var slot2 = googletag.defineUnit ("/ 1234567/skyscraper", [160, 600], "div-2"). addService (googletag.pubads ());

// L'appel à rafraîchir extrait une nouvelle annonce pour chaque emplacement

googletag.pubads (). refresh ([slot1, slot2]); http://support.google.com/dfp_sb/bin/answer.py?hl=fr&answer=2372721&expand=pubservice_details#refresh

25
Appmerce

Je sais que la soirée a un an et demi de retard, mais ... Il est possible que le problème des annonces réside dans le fait qu'elles utilisent document.write (les serveurs de publicité sont connus pour cela, mais je ne sais pas si AdSense utilise ou pas.)

Si c'est le cas, j'ai une bibliothèque qui peut aider: writeCapture.js . Exemple:

$('#ads').writeCapture().html('<script src="whatever-your-adsense-code-is"> </script>');

Cela utilise jQuery, mais il existe également une version autonome.

Quant à savoir s’il s’agit d’une violation du TOS ... Gmail modifie les annonces de manière dynamique, pour que ce ne soit pas si grave. Tant que le contenu change aussi, je penserais que c'était OK.

1
noah

Vous pouvez actualiser les espaces publicitaires Google avec le code suivant. Placez-le dans la fonction JS pour actualiser les annonces. Il convient d'actualiser toutes les annonces sur la page.

if ( undefined !== googletag ) {
  googletag.pubads().refresh();
}

Aide du gestionnaire d'annonces Google: recharger des annonces sans actualisation de la page

0
Warwick