web-dev-qa-db-ja.com

<div id = "fb-root"> </ div>を追加する必要がある理由

Facebookアプリケーション内でこれらのタグのペアを追加する必要がある理由。このタグのペアの使用は何ですか。 apprequestを使用するアプリケーションを作成しましたが、スクリプトの前にこれらのタグを追加しなくても正常に機能します。それで、なぜそれらを追加する必要があるのか​​本当に疑問に思います。ありがとうございました。

62
Tinggo

Facebook JavaScriptスクリプトがDOMに要素を添付するためのプレースホルダーです。これがないと、参照されているFacebookスクリプトが実行されるときに、要素をアタッチする場所がありません。

初期化の一部としてfb-rootが追加されることがわかります。

<script type="text/javascript">
      window.fbAsyncInit = function() {
        FB.init({appId: 'xxxxxx', status: true, cookie: true,
                 xfbml: true});
      };

      (function() {
        var e = document.createElement('script'); e.async = true;
        e.src = document.location.protocol +
          '//connect.facebook.net/en_US/all.js';
        document.getElementById('fb-root').appendChild(e);
      }());
    </script>
46
Simon Hutton

更新:Facebookでは、HTMLに<div id="fb-root"></div>を含める必要がなくなりました。

これで削除できます。 Facebook Javascript SDKは独自に作成し、BODYタグに追加します。以前のように、コンソールにも警告は表示されません。

Facebookのドキュメントも更新され、<div id="fb-root"></div>要件が表示されなくなりました。

バージョン1.0の古いドキュメント(<div id="fb-root"></div>を表示): https://developers.facebook.com/docs/javascript/quickstart/v1.

バージョン2.5の現在のドキュメント(<div id="fb-root"></div>は表示されなくなりました): https://developers.facebook.com/docs/javascript/quickstart/v2.5

38
Doug S