2012-02-07 40 views
6

Tôi muốn tải facebook api (javascript SDK) một cách đồng bộ. Tôi đã thấy mã này trên các nhà phát triển facebook.Làm thế nào để tải 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> 

và cũng trên tham chiếu đến một liên kết http://www.masteringapi.com/tutorials/facebook-javascript-sdk-best-practices/58/ đang được đề cập rằng "Nhưng bạn cần phải chắc chắn rằng bạn không xác định FB trong mã JS của riêng bạn hoặc các thư viện!" ....... ........

Tôi đang bối rối ....! Hãy giúp tôi ....

+0

điều gì khiến bạn khó hiểu chính xác? –

Trả lời

3

Điều bạn đang làm có vẻ ổn.

Hướng dẫn mà bạn đã thấy "Nhưng bạn cần đảm bảo rằng bạn không xác định FB trong mã hoặc thư viện JS của chính bạn!" chỉ đơn giản là một cảnh báo để không khai báo một biến có tên là FB trong ứng dụng của bạn, hoặc bạn sẽ ẩn Facebook SDK.

Trong mã của bạn, trên dòng tiếp theo, bạn có thể bắt đầu thực hiện cuộc gọi với FB.api hoặc bất kỳ phương pháp nào khác.

Điều đó có hữu ích không?

+0

hi, Tôi đã chuyển id ứng dụng tới mã được đề cập ở trên. Sau đó tôi gọi, FB.getLoginStatus (chức năng (phản hồi) {alert (response.status); }); Nhưng nó hiển thị lỗi "e.root is undefined". –

+0

Bạn có thể hiển thị ngăn xếp cuộc gọi đầy đủ không? –

-8

Thêm mã dưới đây sau khi mở thẻ 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> 

Mã này sẽ được tải SDK javascript không đồng bộ.

+0

Tôi đang sử dụng những dòng này trong dự án của mình để tải JS SDK một cách không đồng bộ và làm việc tốt cho tôi .. Tôi có thể biết lý do bỏ phiếu xuống để tôi có thể rõ ràng hơn trong câu trả lời của tôi không. –

+3

Câu hỏi là làm thế nào để tải sdk SYNCHONOUSLY, như được viết hoa trong tiêu đề. Tải mã của bạn là Không đồng bộ. Chỉ trong trường hợp bạn đã không nhận thấy trong 6 tháng kể từ khi bạn đăng câu trả lời này. – jaimerump

Các vấn đề liên quan