1

display:noneコンテナの 1 つがページの読み込み時に表示され、後で で表示される場合、いいね ボタン プラグインは表示されませんdisplay:block

Firefox (私のバージョン 15.0.1) のみで問題が検出されました。

私に何ができる?

4

6 に答える 6

3

要素を表示するときは、プラグインのようなfbをdomに追加する必要があります

IE

<div id="showfb">mouseoverme</div>
<div style="display:none" id="facebutton"></div>

<script>
      var fbbutton = document.getElementById("facebutton");
      document.getElementById("showfb").onmouseover = function(){
          // first visible
          fbbutton.style.display='block';
          // then add fb html5
          fbbutton.innerHTML = '<div class="fb-like" ......... ></div>';
      };
</script>

別の方法として、

width:0;height:0;overflow:hidden

それ以外の

display:none

width:auto;height:auto;overflow:visible

それ以外の

display:block
于 2012-09-14T20:02:58.783 に答える
1

このバグ (FB または FF) の理由はわかりませんが、デフォルトで自分の要素を FF でのみ表示することでその問題を解決しました。

@-moz-document url-prefix() {#exe-article-social-tools { display: block; }}
于 2012-09-18T20:56:08.320 に答える
0

それを理解するのに丸一日かかりましたが、「テストユーザー」でFacebookにログインすると、いいねボタンが見えなくなります. 私の場合、Firefox では常にテスト ユーザーでログインしていましたが、Chrome では通常の Facebook ユーザーでログアウト/ログインしていました (当初、これはブラウザーの問題だと思いました)。

ただし、解決策は、テスト ユーザーからログオフするのと同じくらい簡単でした。

FB ドキュメントでは、すべての機能がテスト ユーザーに対して有効になっているわけではないと指定されていますが (いいね! ボタンはそれらの機能の 1 つです)、少なくともレンダリングされると思いました。とにかく、これが誰かに役立つことを願っています。

于 2013-08-04T21:21:37.967 に答える
0

fb-likeボタンが隠されているページに、さまざまな非表示の div がいくつかありました。div の 1 つが表示されている場合、そのfb-like中にボタンは表示されません。私にとってうまくいった解決策は、目に見えない div が明らかになるたびに FB.init を手動で再起動することです。FB は、window オブジェクトに追加されるグローバル関数ですhttp://connect.facebook.net/en_US/all.js。したがって、このリモート スクリプトは DOM にアタッチされているため、次のようなものを実行できます。

FB.init({
        appId      : '346094915460000', // App ID
        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true  // parse XFBML
    });
于 2013-10-29T07:41:23.503 に答える
0

https://developers.facebook.com/docs/reference/javascript/

fb-root タグ

JavaScript SDK では、fb-root 要素がページに存在する必要があります。fb-root 要素は、display: none または visibility: hidden を使用して非表示にしないでください。非表示にすると、SDK の一部が Internet Explorer で正しく機能しなくなります。

于 2013-01-29T06:17:59.253 に答える