1

ページに 2 つの Facebook のようなボタンをロードし、1 つを非表示にしています。

edge.create イベントを使用して、最初のボタンが表示された後に 2 番目のいいねボタンを表示しています。これは、IE を除くすべてのブラウザーでうまく機能します。

ここで実際の動作を見てみましょう: http://coolkidz.com/join

「いいね」(右上隅) をクリックすると、2 つ目のいいね ボタンがメッセージと共に表示され、組織のファン ページに「いいね」するよう招待されます。

IEで何が起こっているのでしょうか?

アップデート

ちなみに、これは今年の初めに機能しました。Facebook側の比較的最近の更新が問題を引き起こしたようです.

4

2 に答える 2

3

実際、Firefoxでも2番目のいいねボタンは表示されません。その<span>周りの要素とiframeもwidth:0; height:0;…</p> に設定されているためです。

IEで何が起こっているのか考えてみてください。

IEでは、現在ページから非表示になっているXFBML要素をレンダリングしようとすると問題があると考えられます。最初に要素を表示してみて、後で明示的にFB.XFBML.parseを実行してください。

于 2012-09-13T13:30:11.277 に答える
1

私は同じ問題を抱えていました.likeボタンはdisplay:none;、ページが読み込まれたときに非表示になったdiv内にありました。

Facebook SDK が読み込まれると、外側の div の幅/高さがチェックされ、Facebook スパンの幅/高さと内側の iframe の幅/高さが外側の div の幅/高さにサイズ変更されます。

divが非表示に設定されている場合、幅/高さは0です。私の解決策はcssを使用することでしたvisibility:hidden;

于 2013-06-18T14:04:40.617 に答える