如何解决Facebook like和Twitter tweet按钮导致跨域问题
|| 我同时使用Twitter Tweet按钮和Facebook Like按钮<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 = joy&send = true
从带有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 %2F&via =某人
从带有URL的框架
http://example.com/。域,
协议和端口必须匹配。
解决方法
这似乎是您可能希望使用Twitter登录的Twitter按钮代码的错误。它似乎正在尝试遍历页面上的每个dom对象,并且无法访问Facebook iframe对象。例如,如果您还添加了Google +1按钮,则该按钮现在会抛出一条额外的类似消息,但仅用于与Google相关的网址。
该功能似乎并未受到影响,因此我将忽略它。使用此Tweet按钮以及来自不同服务器的另一个iframe(例如Facebook / G +按钮)的任何站点也会出现相同的问题(例如,尝试mashable.com上的任何页面)。如果您不想只是忽略它,则可以删除Twitter的javascript参考,并通过使用javascript弹出以下url格式来创建一个自定义的Tweet按钮(如其Tweet按钮页面所述):http://twitter.com/share? url = http%3A%2F%2Fdev.twitter.com%2Fpages%2Ftweet按钮,其不利之处是该推文计数不会显示在您的页面上。
, 我知道这个问题太老了。但由于Twitter的问题仍然有效,因此作为BK答案的后续措施,我创建了一个自定义的tweet按钮,该按钮看上去与Twitter的JS API完全相同,但未使用它,并且仍然包含份额数!因此,对于那些感兴趣的人,我将其上传到了我的GitHub。
演示:http://fiddle.jshell.net/eyecatchup/Th6P2/2/show/
代码:https://github.com/eyecatchup/tweetbutton
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。