Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 类似Facebook和Twitter的推文按钮导致跨域问题_Javascript_Facebook_Twitter_Sdk_Cross Domain - Fatal编程技术网

Javascript 类似Facebook和Twitter的推文按钮导致跨域问题

Javascript 类似Facebook和Twitter的推文按钮导致跨域问题,javascript,facebook,twitter,sdk,cross-domain,Javascript,Facebook,Twitter,Sdk,Cross Domain,我同时使用twitter推特按钮和类似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

我同时使用twitter推特按钮和类似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的框架 从带有URL的框架 . 域名, 协议和端口必须匹配

不安全的JavaScript试图访问 带URL的框架 text&url=http%3A%2F%2Fexample.com%2F&via=someone 从带有URL的框架 . 域名, 协议和端口必须匹配


这似乎是Twitter按钮代码的一个bug,您可能希望使用Twitter登录。它似乎试图遍历页面上的每个dom对象,但无法访问FacebookIframe对象。例如,如果您还添加了Google+1按钮,它现在将抛出一条额外的类似消息,但与Google相关的URL除外


不过,该功能似乎没有受到影响,所以我将忽略它。任何使用此Tweet按钮以及来自不同服务器的另一个iframe(例如Facebook/G+按钮)的站点也会有相同的问题(例如,尝试上的任何页面)。如果您不想忽略它,您可以删除Twitter javascript引用,并创建一个自定义的Tweet按钮,如他们的页面上所述,使用javascript弹出此url格式:,其缺点是Tweet计数不会显示在您的页面上

我知道这个问题太老了。但是由于Twitter的这个问题仍然有效,作为BK回答的后续,我创建了一个定制的tweet按钮,它看起来与Twitter的JSAPI完全一样,但没有使用它,并且仍然包含共享计数!所以,对于那些感兴趣的人,我把它上传到我的GitHub

演示:

代码:

您是否尝试过在页面上只显示其中一个,并查看是否只有一个导致此问题?确定页面上没有其他插件尝试枚举所有iFrame并访问它们?我以前见过这种情况。你能给你的网页提供链接吗?我也许能帮上忙