Facebook и твиттер Twitter, вызывающие проблемы с перекрестными доменами
Я использую кнопку twitter tweet, а кнопка facebook как кнопка
<a href="#" onclick="location.href='http://twitter.com/share'; return false;"
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="#" onclick="location.href='http://example.com'; return false;"
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 & через = кто-то из фрейма с URL-адресом http://example.com/. Домены, протоколы и порты должны соответствовать.
Ответы
Ответ 1
Кажется, это ошибка с кодом кнопки Twitter, который вы, вероятно, захотите войти в Twitter. Кажется, что он пытается пересечь каждый объект dom на странице и не может получить доступ к объекту iframe Facebook. Например, если вы также добавите кнопку Google +1, она теперь добавит дополнительное подобное сообщение, но относится к URL-адресам Google.
Функциональность, похоже, не влияет, поэтому я просто проигнорирую ее. Любой сайт, использующий эту кнопку Tweet, а также другой iframe с другого сервера (например, кнопка Facebook/G +), также будет иметь такую же проблему (например, попробуйте любую страницу на mashable.com). Если вы не хотите просто игнорировать его, вы можете удалить ссылку на javascript Twitter и создать пользовательскую кнопку Tweet, как указано на странице Tweet, используя javascript для всплывающего формата этого URL: http://twitter.com/share?url=http%3A%2F%2Fdev.twitter.com%2Fpages%2Ftweet-button, с недостатком этого является то, что количество твитов не будет отображаться на вашей странице.
Ответ 2
Я знаю, что этот вопрос чертовски старый. Но поскольку эта проблема с Twitter по-прежнему актуальна, в качестве ответа на вопрос BK я создал пользовательскую кнопку твиттов, которая выглядит точно так же, как и JS API Twitter, но не использует ее и по-прежнему включает в себя счетчик акций! Итак, для тех, кого это интересует, я загрузил их в свой GitHub.
Демо: http://fiddle.jshell.net/eyecatchup/Th6P2/2/show/
Код: https://github.com/eyecatchup/tweetbutton