1

I'd like to add a Facebook login button to my HTML page using Javascript:

var button = document.createElement("fb:login-button");
button.size = "xlarge";
parent.appendChild(button);

The button appears, and non Facebook-specific attributes like id and lang can be added succesfully. However, adding the size attribute has no effect.

Also, if I try to add any attribute using button.createAttribute(), I get

Uncaught TypeError: Object #<HTMLUnknownElement> has no method 'createAttribute'

Why is Facebook's login button not recognized as a valid HTML element, even though it appears on the page? What is the correct way to insert a Facebook login button using Javascript and change its size?

4

1 に答える 1

1

これらのソーシャル プラグインを動的にレンダリングするには、 Facebook JavaScript SDKが必要です。SDK を初期化したら、必要に応じてページを操作できます。FB.XFBML.parse()関数を呼び出すだけで、タグが正しく表示されます。

さらに制御するために、特定の要素で関数を呼び出すこともできます。

FB.XFBML.parse( document.getElementById( 'some-element' ) );
// or with jQuery
FB.XFBML.parse( $( "#some-element" )[0] )

また、マークアップを手動で文字列として追加するようにしてください。

element.innerHTML += '<fb:login-button id="some-element" size="xlarge"/>'; 
FB.XFBML.parse( document.getElementById( 'some-element' ) );

関連ドキュメントの概要は次のとおりです。

この関数は、ドキュメント内の XFBML マークアップをオンザフライで解析およびレンダリングします。これは、サーバーから ajax 経由で XFBML を送信し、それをクライアント側でレンダリングする場合に使用できます。XFBML を使用すると、FBML を Web サイトや IFrame アプリケーションに組み込むことができます。

このメソッドを使用して、次の XFBML タグを解析できます。

  • fb:活動
  • fb:コメント
  • fb:フレンドパイル
  • fb:いいね
  • fb:ライクボックス
  • fb:login-button <-------------- WOOHOO!
  • fb:名前
  • fb:プロフィール写真
  • fb:おすすめ
于 2013-07-08T21:52:31.330 に答える