2012-02-07 14 views
6

Chcę ładować facebook api (javascript SDK) synchronicznie. Widziałem ten kod na programistów Facebooka.Jak załadować javascript facebook api SYNCHRONOUSLY ...?

<div id="fb-root"></div> 
<script src="//connect.facebook.net/en_US/all.js"></script> 
<script> 
FB.init({ 
appId  : 'YOUR_APP_ID', 
channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File 
status  : true, // check login status 
cookie  : true, // enable cookies to allow the server to access the session 
xfbml  : true // parse XFBML 
}); 
</script> 

a także w odniesieniu do innego łącza http://www.masteringapi.com/tutorials/facebook-javascript-sdk-best-practices/58/ jest wspomniano, że „ale trzeba się upewnić, że nie definiują FB w swoim własnym kodzie JS lub bibliotek!” ....... ........

Jestem zdezorientowany ....! Pomóż mi ....

+0

co dokładnie wprowadza Cię w błąd? –

Odpowiedz

3

To, co robisz, wygląda dobrze.

Instrukcja, którą widziałeś: "Ale musisz upewnić się, że nie definiujesz FB w swoim własnym kodzie JS lub bibliotekach!" jest po prostu ostrzeżeniem, aby nie zadeklarować w aplikacji zmiennej o nazwie FB lub ukryje pakiet SDK Facebooka.

W swoim kodzie, w następnej linii można rozpocząć wykonywanie połączeń za pomocą FB.api lub dowolnej innej metody.

Czy to pomaga?

+0

cześć, Podałem identyfikator aplikacji do wyżej wspomnianego kodu. Po tym wywołaniu, FB.getLoginStatus (funkcja (odpowiedź) {alert (response.status); }); Ale pokazuje błąd "e.root jest niezdefiniowany." –

+0

Czy możesz pokazać pełny stos wywołań? –

-8

Dodaj poniższy kod po otwarciu tagu HTML

<div id="fb-root"> 
    </div> 

    <script> 
     window.fbAsyncInit = function() { 
      FB.init({ 
       appId: 'Your APP ID', 
       status: true, // check login status 
       cookie: true, // enable cookies to allow server to access session 
       xfbml: true, // parse XFBML 
       oauth: true 
      }); 
     }; 
    (function() { 
     var e = document.createElement('script'); 
     e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
     e.async = true; 
     document.getElementById('fb-root').appendChild(e); 
    }()); 
    </script> 

ten kod załaduje javascript SDK asynchronicznie.

+0

Korzystam z tych linii w moim projekcie, aby załadować zestaw SDK JS asynchronicznie i działa mi dobrze. Mogę znać przyczynę odrzucenia głosowania, dzięki czemu mogę być bardziej zrozumiały w mojej odpowiedzi. –

+3

Pytanie brzmiało, jak załadować sdk SYNCHONOYLY, tak jak napisano wielką literą w tytule. Twój kod ładuje się asynchronicznie. Na wszelki wypadek, gdybyś nie zauważył w ciągu 6 miesięcy od opublikowania tej odpowiedzi. – jaimerump

Powiązane problemy