Facebook喜欢和Twitter推特按钮导致跨域问题

Hai*_*ood 20 javascript twitter sdk facebook cross-domain

我正在使用推特推特按钮和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>
Run Code Online (Sandbox Code Playgroud)

但是他们两个都在吐出跨域错误,不是一两个,而是持续不断.

实际的错误(有替换)是

不安全的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&布局= button_count&语言环境= EN_US&NODE_TYPE =链路和SDK =乔伊&发送=真show_faces = false和width = 150, 来自带有URL http://example.com/的框架 .域,协议和端口必须匹配.

不安全的JavaScript尝试使用URL访问框架 http://platform0.twitter.com/widgets/tweet_button.html?_=1308700896075&count=horizo​​ntal&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 =来自URL http://example.com/的某人 .域,协议和端口必须匹配.

bka*_*aid 28

这似乎是您可能想要使用Twitter登录的Twitter按钮代码的错误.它似乎试图遍历页面上的每个dom对象,并且无法访问Facebook iframe对象.例如,如果您还添加了Google +1按钮,它现在会抛出一条类似的消息,但对于Google相关网址.

功能似乎没有受到影响,所以我会忽略它.使用此Tweet按钮的任何网站以及来自不同服务器的另一个iframe(例如Facebook/G +按钮)也会出现相同的问题(例如,尝试使用mashable.com上的任何页面).如果您不想忽略它,您可以删除Twitter javascript引用并创建一个自定义推文按钮,如其推文按钮页面上所述,通过使用javascript弹出这个网址格式:http://twitter.com/share? url = http%3A%2F%2Fdev.twitter.com%2Fpages%2Ftweet-button,其缺点是推文数量不会显示在您的页面上.