2013-01-16 107 views
0

我用下面的代码获得Facebook分享按钮呈现,脸谱一样,Facebook发送和谷歌+1:Facebook分享按钮被错误地

<div id="fb-root"></div> 
    <script>(function(d, s, id) { 
     var js, fjs = d.getElementsByTagName(s)[0]; 
     if (d.getElementById(id)) return; 
     js = d.createElement(s); js.id = id; 
     js.src = "//connect.facebook.net/ar_AR/all.js#xfbml=1&appId=<?php echo Configure::read('FBappId');?>"; 
     fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 
    </script> 

<!-- FaceBook SHARE BUTTON HERE --> 
    <a name="fb_share"></a> 
<!-- End FACEBOOK SHARE --> 
    <div class="fb-send" data-href="<?php echo $URL;?>" data-font="tahoma"></div> 

    <script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" 
      type="text/javascript"> 
    </script> 
    <div class="fb-like" data-send="false" data-layout="button_count" data-width="" data-show-faces="false" data-font="tahoma"></div> 
    <span> 
    <!-- Place this tag where you want the +1 button to render --> 
    <g:plusone size="medium"></g:plusone> 

    <!-- Place this render call where appropriate --> 
    <script type="text/javascript"> 
     window.___gcfg = {lang: 'ar'}; 

     (function() { 
     var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
     po.src = 'https://apis.google.com/js/plusone.js'; 
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 
     })(); 
    </script> 
    </span> 

问题是 Facebook的分享按钮是在rendred iframe的宽度和高度为1000像素,并呈现超出预期的视图范围。以下屏幕截图将更加清晰地解释: enter image description here 顺便说一句:该文档是RTL方向,并且该分享按钮应该放在其他按钮旁边。屏幕截图采用FireFox 18.0。

回答

0

此问题的最终解决方案,是体现在以下link。基本上,这取决于创建一个直接链接到Facebook上的sharer.php。当然,我删除了额外的Javascipt链接标签,如RohitKumarChoudhary答案。如下:

<div class="socials"> 
<div id="fb-root"></div> 
<script>(function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/ar_AR/all.js#xfbml=1&appId=xxxxxxxxxx"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 
<div class="fb-send" data-href="http://quran.2index.net/viewAyah/1933" data-font="tahoma"></div> 
<!--<a name="fb_share"></a>--> 
<a href="http://www.facebook.com/sharer.php?app_id=xxxxxxxxxx&sdk=joey&u=http://quran.2index.net/viewAyah/1933&display=popup" target="_blank"><img src="/img/../images/facebook16.png" alt="" />مشاركة</a> 


<div class="fb-like" data-send="false" data-layout="button_count" data-width="" data-show-faces="false" data-font="tahoma"></div> 
.... 
</div> 
1

<fb:share-button type="box_count"></fb:share-button>仅在要显示分享按钮的地方使用此选项。

+0

请看看下面的页面,我刚刚更换的分享按钮代码在我的问题突出了你的代码,同样的问题依然存在:http://quran.2index.net/viewAyah/ 1933年 – SaidbakR

+0

请注意:使用Firefox查看页面。 – SaidbakR

+0

删除现有的

0

同样的事情发生在我'用Facebook登录'按钮2天前,不知道这是否是来自FB的错误?

无论如何,我用CSS hack修复它...不理想!

.fb_iframe_widget iframe{width:auto!important; height:auto!important}