2013-01-16 110 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}