web-dev-qa-db-fra.com

Pourquoi nous devons ajouter <div id = "fb-root"> </div>

Pourquoi nous devons ajouter cette paire de balises dans notre application Facebook. Quelle est l'utilité de ces paires de balises. J'ai créé une application qui utilise une demande, et cela fonctionne bien même si je n'ai pas ajouté ces balises devant mes scripts. Je me demande donc vraiment pourquoi nous devons les ajouter. Merci.

62
Tinggo

C'est l'espace réservé au script JavaScript Facebook pour attacher des éléments au DOM. Sans cela, lorsque le script Facebook référencé est exécuté, il n'a nulle part où attacher des éléments.

Vous pouvez voir que fb-root est ajouté dans le cadre de l'initialisation.

<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

MISE À JOUR: Facebook n'exige plus que vous incluiez <div id="fb-root"></div> dans votre HTML.

Vous pouvez maintenant le supprimer. Le SDK Facebook Javascript le crée lui-même, en l'ajoutant à la balise BODY. Aucun avertissement ne s'affiche non plus dans la console, comme auparavant.

La documentation Facebook a également été mise à jour, ne montrant plus le <div id="fb-root"></div> exigence.

Ancienne documentation de la version 1.0 (affiche <div id="fb-root"></div>): https://developers.facebook.com/docs/javascript/quickstart/v1.

Documentation actuelle pour la version 2.5 (ne montre plus <div id="fb-root"></div>): https://developers.facebook.com/docs/javascript/quickstart/v2.5

38
Doug S