2011-06-22 2 views
20

J'utilise à la fois le twitter bouton tweet, et le facebook comme boutonFacebook comme et Twitter boutons tweet causant Cross questions de domaine

<a href="http://twitter.com/share" 
    class="twitter-share-button" 
    data-url="http://example.com" 
    data-text="some text" 
    data-count="horizontal" 
    data-via="someone">Tweet 
</a> 
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> 

<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script> 
<fb:like 
    class="fbShare" 
    href="http://example.com" 
    font="" send="true" 
    layout="button_count" 
    show_faces="false"> 
</fb:like> 

Mais les deux sont crachant des erreurs Croix de domaine, pas un ou deux, mais continuellement.

les erreurs réelles (avec des substitutions) sont

tentative Unsafe JavaScript pour accéder cadre avec l'URL https://www.facebook.com/plugins/like.php?channel_url=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%3Fversion%3D3%23cb%3Df3cde04b84%26origin%3Dhttp%253A%252F%252Fexample.com%252Ff20b9fb1fc%26relation%3Dparent.parent%26transport%3Dpostmessage&href=http%253A%252F%252Fexample.com%252F&layout=button_count&locale=en_US&node_type=link&sdk=joey&send=true&show_faces=false&width=150 du cadre avec l'URL http://example.com/. Domaines, les protocoles et les ports doivent correspondre.

tentative Unsafe JavaScript pour accéder cadre avec l'URL http://platform0.twitter.com/widgets/tweet_button.html?_=1308700896075&count=horizontal&id=twitter_tweet_button_0&lang=en&original_referer=http%3A%2F%2Fexample.com%2F&text=some texte & url = http% 3A% 2F% 2F% 2Fexample.com & via = quelqu'un du cadre avec l'URL http://example.com/. Domaines, les protocoles et les ports doivent correspondre.

+0

Avez-vous essayé seulement d'avoir un d'entre eux sur la page et de voir si elle pourrait être que celui qui fait cela? –

+0

Oui, ce n'est pas le cas:/ – Hailwood

+1

Bien sûr, vous n'avez pas d'autre plugin sur la page qui essaie d'énumérer toutes les iframes et d'y accéder? J'ai déjà vu cela avant. –

Répondre

28

Cela semble être un bug avec le code du bouton Twitter que vous voudriez probablement connecter avec Twitter. Il semble essayer de traverser chaque objet dom sur la page et il n'est pas capable d'accéder à l'objet iframe de Facebook. Par exemple, si vous ajoutez également le bouton Google +1, il envoie désormais un message similaire, sauf pour les URL liées à Google.

La fonctionnalité ne semble pas être affectée si bien que je voudrais juste l'ignorer. Tout site utilisant ce bouton Tweet et également un autre iframe provenant d'un serveur différent (par exemple, le bouton Facebook/G +) aura également le même problème (par exemple, essayez une page sur mashable.com). Si vous ne voulez pas simplement l'ignorer, vous pouvez supprimer la référence javascript de Twitter et créer un bouton Tweet personnalisé comme indiqué sur leur Tweet button page, en utilisant javascript pour faire apparaître ce format d'URL: http://twitter.com/share?url=http%3A%2F%2Fdev.twitter.com%2Fpages%2Ftweet-button, avec l'inconvénient que le tweet compte ne s'affichera pas sur votre page.

4

Je sais que cette question est sacrément vieille. Mais comme ce problème avec Twitter est toujours valide, suite à la réponse de BK, j'ai créé un bouton de tweet personnalisé qui ressemble exactement à celui de l'API JS de Twitter mais ne l'utilise pas et inclut toujours le nombre de partages! Donc, pour ceux qui sont intéressés, je l'ai téléchargé sur mon GitHub.

Démo: http://fiddle.jshell.net/eyecatchup/Th6P2/2/show/
code: https://github.com/eyecatchup/tweetbutton