Кнопки «Нравится» на Facebook и в Твиттере вызывают проблемы между доменами - PullRequest
20 голосов
/ 22 июня 2011

Я использую как кнопку твиттера в Твиттере, так и кнопку лайка в Facebook

<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>

Но оба они выдают междоменные ошибки, не один или два, а постоянно.

фактические ошибки (с подстановками)

Небезопасная попытка JavaScript для доступа рамка с 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 из фрейма с URL http://example.com/. Домены, протоколы и порты должны совпадать.

Небезопасная попытка JavaScript для доступа рамка с 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 text & url = http% 3A% 2F% 2Fexample.com% 2F & via = somebody из фрейма с URL http://example.com/. Домены, протоколы и порты должны совпадать.

Ответы [ 2 ]

28 голосов
/ 10 июля 2011

Похоже, это ошибка с кодом кнопки Twitter, которую вы, вероятно, захотите авторизовать в Twitter.Кажется, что он пытается обойти каждый объект dom на странице и не может получить доступ к объекту iframe Facebook.Например, если вы также добавите кнопку «Google +1», то теперь она выдаст дополнительное подобное сообщение, но для URL, связанных с Google.

На функциональность, похоже, не влияют, поэтому я бы просто проигнорировал ее.Любой сайт, использующий эту кнопку Tweet, а также другой iframe с другого сервера (например, кнопка Facebook / G +) также будет иметь такую ​​же проблему (например, попробуйте любую страницу на mashable.com ).Если вы не хотите просто игнорировать это, вы можете удалить ссылку на javascript в Твиттере и создать пользовательскую кнопку Tweet, как упомянуто на их странице кнопки Tweet , используя javascript для отображения этого формата URL: http://twitter.com/share?url=http%3A%2F%2Fdev.twitter.com%2Fpages%2Ftweet-button, с тем недостатком, что количество твитов не будет отображаться на вашей странице.

4 голосов
/ 19 апреля 2013

Я знаю, что этот вопрос чертовски стар. Но так как эта проблема с Twitter все еще актуальна, как продолжение ответа BK, я создал пользовательскую кнопку твита, которая выглядит точно так же, как и в JS API Twitter, но не использует ее и по-прежнему включает в себя количество акций! Итак, для тех, кто заинтересован, я загрузил его на свой GitHub.

Демо: http://fiddle.jshell.net/eyecatchup/Th6P2/2/show/
Код: https://github.com/eyecatchup/tweetbutton

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...