如何同步加载javascript facebook api。。。?

如何同步加载javascript facebook api。。。?,facebook,facebook-graph-api,facebook-javascript-sdk,Facebook,Facebook Graph Api,Facebook Javascript Sdk,我想同步加载facebook api(javascript SDK)。我在facebook开发者身上看到过这段代码 <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_DOMAI

我想同步加载facebook api(javascript SDK)。我在facebook开发者身上看到过这段代码

<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>

FB.init({
appId:'你的应用程序ID',
channelUrl:'//WWW.YOUR_DOMAIN.COM/channel.html',//频道文件
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
并且还参考了另一个链接 提到“但是您需要确保您没有在自己的JS代码或库中定义FB!”

我很困惑。。。。!
请帮帮我……

你正在做的看起来很好

您看到的说明“但是您需要确保您没有在自己的JS代码或库中定义FB!”只是警告您不要在应用程序中声明名为
FB
的变量,否则您将隐藏Facebook SDK

在代码的下一行,您可以开始使用
FB.api
或任何其他方法进行调用


这有帮助吗?

在打开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>

window.fbAsyninit=函数(){
FB.init({
appId:'您的应用程序ID',
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true,//解析xfbml
真的吗
});
};
(功能(){
var e=document.createElement('script');
e、 src=document.location.protocol+'//connect.facebook.net/en_US/all.js';
e、 异步=真;
document.getElementById('fb-root').appendChild(e);
} ());

这段代码将异步加载javascript SDK。

到底是什么让您困惑?您好,我将应用程序id传递给了上述代码。在那之后,我调用了FB.getLoginStatus(函数(响应){alert(response.status);});但它显示错误“e.root未定义”。同时从以下行中删除“async defer”:connect.facebook.net/en_US/sdk.js“>我在我的项目中使用这些行异步加载JS SDK,它对我来说工作正常。。请允许我知道否决投票的原因,以便我的回答更清楚。问题是如何同步加载sdk,正如标题中大写的那样。您的代码是异步加载的。以防你在发布此答案后的6个月内没有注意到。