2016-04-26 1 views
0

Je souhaite ajouter un badge Google+ sur mon site. Lorsque je copier/coller du code à partir de l'outil de configuration Google, le badge ne fonctionne pas. Je pensais que le problème pourrait être dans le JavaScript pour que je créé un vide index.html et copier/coller le code Google ... mais il ne fonctionne toujours pas:Impossible d'exécuter 'postMessage' sur 'DOMWindow' en utilisant le code Google

Google Code:

<!-- Place this tag in your head or just before your close body tag. --> 
<script src="https://apis.google.com/js/platform.js" async defer></script> 

<!-- Place this tag where you want the widget to render. --> 
<div class="g-page" data-width="250" data-href="https://plus.google.com/110789175777197362579" data-theme="dark" data-rel="publisher"></div> 

HTML complet dans index.html

<!DOCTYPE html> 
<html> 
<head> 
<title>Test</title> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
</head> 
<body> 

<!-- Place this tag where you want the widget to render. --> 
<div class="g-page" data-width="250" data-href="https://plus.google.com/110789175777197362579" data-theme="dark" data-rel="publisher"></div> 

<!-- Place this tag in your head or just before your close body tag. --> 
<script src="https://apis.google.com/js/platform.js" async defer></script> 
</body> 
</html> 

dans la console, je peux voir les erreurs suivantes:

  • Impossible d'exécuter 'postMessage' sur ' DOMWindow ': L'origine cible fournie (' null ') ne correspond pas à l'origine de la fenêtre du destinataire (' null '). personne
  • L'utilisation de getAttributeNode() est obsolète. Utilisez getAttribute() à la place. rs = AGLTcCOasCY_GkJWPJtHt2mUGUYuzPzTCg% 20line% 209% 20% 3E% 20eval: 34: 434
  • Echec de l'exécution de 'postMessage' sur 'DOMWindow': L'origine cible fournie ('null') ne correspond pas à l'origine de la fenêtre du destinataire ('null '). personne
  • Echec de l'exécution de 'postMessage' sur 'DOMWindow': L'origine cible fournie ('null') ne correspond pas à l'origine de la fenêtre du destinataire ('null'). postmessageRelay
  • Echec de l'exécution de 'postMessage' sur 'DOMWindow': L'origine cible fournie ('null') ne correspond pas à l'origine de la fenêtre du destinataire ('null'). postmessageRelay
  • Echec de l'exécution de 'postMessage' sur 'DOMWindow': L'origine cible fournie ('null') ne correspond pas à l'origine de la fenêtre du destinataire ('null'). postmessageRelay
  • Echec de l'exécution de 'postMessage' sur 'DOMWindow': L'origine cible fournie ('null') ne correspond pas à l'origine de la fenêtre du destinataire ('null'). postmessageRelay
  • Echec de l'exécution de 'postMessage' sur 'DOMWindow': L'origine cible fournie ('null') ne correspond pas à l'origine de la fenêtre du destinataire ('null'). postmessageRelay
  • Echec de l'exécution de 'postMessage' sur 'DOMWindow': L'origine cible fournie ('null') ne correspond pas à l'origine de la fenêtre du destinataire ('null'). postmessageRelay
+0

[Fonctionne bien pour moi.] (Https://jsfiddle.net/b9x4svf9/) Essayez-vous de le mettre dans un iframe ou quelque chose? –

+0

Hmmm ...Im utilisant exactement le même code html, comme je l'ai publié ici ... et ne fonctionne pas. J'ai essayé Firefox, Firefox Developer et Chrome. Ne fonctionne pas :-( – steelbull

+0

Possible copie de [API Google en Javascript] (http://stackoverflow.com/questions/21710842/google-api-in-javascript) –

Répondre

2

Le problème est peut-être que le badge Google+ peut vous obliger à exécuter le code via un serveur Web au lieu de l'afficher localement via le système de fichiers.

Au lieu de simplement ouvrir le fichier HTML, essayez de l'héberger à l'aide d'un serveur Web. Il y a beaucoup d'options ici. Si vous avez installé Python, vous pouvez essayer d'exécuter:

cd [directory where file is located] 
python -m SimpleHTTPServer 8080 

puis la visualisation dans un navigateur Web à l'adresse http://localhost:8080


La raison pour laquelle je pense que cela peut être le problème est que je reçois aussi des erreurs lors de l'exécution hors tension du système de fichiers localement (mais pas les mêmes erreurs que vous), mais quand je l'ai vue à travers un navigateur Web, il fonctionne très bien, comme ceci:

https://jsfiddle.net/wwkdgL5b/

+0

Yeeees! Ceci est la réponse correcte. le serveur web, merci. – steelbull