79 votes

Erreurs Javascript de Google Adsense

Sur plusieurs de mes adsense exécution de sites, j'ai été faire les erreurs suivantes:

Parvenez pas à envoyer de message à [http://]googleads.g.doubleclick.net. Le bénéficiaire a l'origine http://www.anekdotz.com.

Dangereux JavaScript tentative d'accès à image avec l'URL [http://]www.anekdotz.com/ à partir de l'image avec l'URL [http://]googleads.g.doubleclick.net/pagead/ads?client=ca-pub-9099580055602120&output=html&h=250&slotname=9210181593&w=300&flash=10.0.42&url=http%3A%2F%2Fwww.anekdotz.com%2F&dt=1269901036429&correlator=1269901036438&frm=0&ga_vid=711000587.1269901037&ga_sid=1269901037&ga_hid=654061172&ga_fc=0&u_tz=-240&u_his=2&u_java=1&u_h=900&u_w=1440&u_ah=878&u_aw=1436&u_cd=24&u_nplug=10&u_nmime=101&biw=1365&bih=806&eid=44901212&fu=0&ifi=1&dtd=153&xpc=Xkfk1oufPQ&p=http%3A//www.anekdotz.com. Les domaines, les protocoles et les ports doivent correspondre.

(à partir du Chrome console javascript)

Les annonces semblent montrer correctement et ne pas affecter d'origine de mon code javascript. Cependant, parfois, ces erreurs semblent ralentir le chargement des pages. Comment puis-je résoudre ce problème?

(J'ai modifié l'Url de me laisser poster ce que je suis un nouvel utilisateur)

81voto

bobince Points 270740

Google ont foiré leur script. Il n'y a pas beaucoup que vous pouvez faire à ce sujet.

Pour certaines raisons, http://pagead2.googlesyndication.net/pagead/expansion_embed.js, inclus dans la page parent par l'AdSense scripts, est d'essayer d'envoyer des informations à propos de l'annonce dans un nouvellement écrit, <iframe> créé pour contenir l'annonce, à l'aide de la nouvelle HTML5 postMessage installation:

            ha(this, function (f, e) {
                d[Pa](this.a[A]+"|"+f+":"+e, this.la)
            });

Ouais. Quelques belles minifiés/obfuscation de code. Faites-moi confiance, Pa est 'postMessage'!

L' targetOrigin argument dans le présent appel, this.la est définie à l' http://googleads.g.doubleclick.net. Cependant, la nouvelle iframe a été écrit avec ses src ensemble de about:blank. Cela ne correspond pas à la cible de l'origine, de sorte que le navigateur doit refuser d'envoyer le message. Seulement Chrome semble être la suppression d'un réel whinge pour le journal de la console à ce sujet.

Aucune idée de pourquoi il le fait à tout, jamais l'esprit, pourquoi ce n'est pas seulement l'aide d' '*' comme cible d'origine... je ne suis pas vraiment l'impression que patauger dans l'obfuscation de script pour le savoir. Cependant, cette erreur ne devrait pas causer de chargement d'une page à ralentir. Si vous voyez des pauses, il est généralement à la résolution et à l'extraction d'autres scripts externes.

15voto

thomasrutter Points 42905

Google tente d'exploiter un navigateur caprice lequel certains navigateurs ignorent l'origine de la politique pour windows avec about:blank comme l'URL, permettant à la fenêtre de soumettre XMLHttpRequest ou, dans ce cas, postMessage demandes à n'importe quel site.

Autant que je sache, les navigateurs ont récemment été de désactiver ce comportement. Vous devez disposer de l'un de ces patché navigateur.

J'espère que ce cassé la fonctionnalité n'affecte pas votre capacité à gagner de l'argent à partir des annonces.

C'est ennuyeux pour votre site pour générer des erreurs Javascript, sans aucune faute de votre propre, mais c'est une possibilité, vous devez accepter lorsque vous exécutez de quelqu'un d'autre de Javascript sur votre page.

8voto

risnandar Points 2236

Ses normal car notre site web prévenir attaque CSRF sur le site d'autres.

pour résoudre ce problème, créez un fichier crossdomain.xml dans la racine de votre site, nous permettra googleads à notre site web et remplissez-le avec ce texte

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy 
  SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="googleads.g.doubleclick.net" />
</cross-domain-policy>

pour le tester, allez à votre domaine http://your-domain.com/crossdomain.xml et assurez-vous il n'y a pas d'erreurs de cette page. Vous aussi permis d'utiliser des caractères génériques, etc (voir référence). Lorsque vous avez terminé, vous actualisez votre page. Espérons que cela aide.

live exemple: http://www.blanjamudah.com/crossdomain.xml

référence: http://en.wikipedia.org/wiki/Cross-site_request_forgery http://curtismorley.com/2007/09/01/flash-flex-tutorial-how-to-create-a-crossdomainxml-file/

4voto

Chaoley Points 415

Un fichier crossdomain.xml à la racine du site permettant l'accès à googleads.g.doubleclick.net devrait le réparer.

Voir cette page, http://www.warriorforum.com/adsense-ppc-seo-discussion-forum/458906-adsense-blank-space-problem.html

4voto

jfrprr Points 240

Pour ceux qui débarquent sur cette page après une recherche pour le nom de domaine et le protocole de code d'erreur:

AdSense a publié une nouvelle version asynchrone de leurs javascript qui est adressé à la croix-des erreurs de domaine d'être générée lorsque nous avons utilisé leurs vieux code embed. Lorsque nous avons utilisé leur standard code embed sur notre AJAX-site lourd, nous avons obtenu la croix-erreur de domaine. Lorsque nous avons mis en place leur async code, et en combinaison avec d'défini correctement crossdomain.xml la croix-erreur de domaine s'en alla.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X