0

次のコードを使用して、Facebook共有ボタン、Facebook Like、Facebook Send、およびGoogle+1を取得します。

    <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の共有ボタンが幅と高さ1000pxのスタイルのiframeでレンダリングされ、予想される表示範囲外にレンダリングされることです。次のスクリーンショットは、より明確に説明しています。 ここに画像の説明を入力してください ちなみに、ドキュメントはRTL方向であり、共有ボタンは他のボタンの隣に配置する必要があります。スクリーンショットはFireFox18.0を使用して撮影されています。

4

3 に答える 3

1

<fb:share-button type="box_count"></fb:share-button>これは、共有ボタンを表示する場所にのみ使用してください。

于 2013-01-16T18:33:13.657 に答える
0

2 日前に [Facebook でログイン] ボタンに同じことが起こりました。これが FB のバグかどうかわかりませんか?

とにかく、私はそれを修正するために CSS ハックを使用しました...理想的ではありません!

.fb_iframe_widget iframe{width:auto!important; height:auto!important}
于 2013-01-17T20:01:18.257 に答える
0

この問題の最終的な解決策は、次のリンクに示されています。基本的には、Facebook の sharer.php への直接リンクを作成することに依存します。もちろん、RohitKumarChoudhary の回答にあるように、余分な Javascipt リンク タグを削除しました。次のように:

<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>
于 2013-01-20T13:09:33.500 に答える