Facebook Javascript SDK Not Loading

Facebook Javascript SDK Not Loading

问题描述:

我刚刚开始使用Facebook SDK,我正在尝试使用抓取用户名和朋友列表的脚本。这是初始化代码我一起工作:Facebook Javascript SDK Not Loading

window.fbAsyncInit = function() 
{ 

    console.log("initialising"); 
    FB.init(
    { 
     appId  : 'APPID', 
     status  : true, // check login status 
     cookie  : true, // enable cookies to allow the server to access the session 
     oauth  : true, // enable OAuth 2.0 
     xfbml  : false // dont parse XFBML 
    }); 


    FB.getLoginStatus(function(response) { 
     if (response.status === 'connected') { 
      console.log("RESPONSE IS CONNECTED!"); 
     } else if (response.status === 'not_authorized') { 
      console.log("NOT AUTHORIZED"); 
     } else { 
      console.log("NOT LOGGED IN"); 
      FB.login(); 
     } 
    }); 


}; 

(function(d, s, id){ 
console.log("Loading SDK!"); 
var js, fjs = d.getElementsByTagName(s)[0]; 
if (d.getElementById(id)) {return;} 
js = d.createElement(s); js.id = id; 
js.src = "//connect.facebook.net/en_US/all.js"; 
fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 

我有一个FB-根元素在文档的顶部,脚本标记之外。 大约有一半时间,SDK加载正常,我在控制台中看到初始化和连接的消息。但是,另一半时间,我只看到“加载SDK”消息,没有别的,我认为这意味着SDK无论如何都无法正确加载。我也注意到,它导航到页面时加载,但很少刷新。

我的问题是:什么导致SDK不加载一些时间,我该如何解决这个问题?

+0

嗯......你没有指定,你也已经实现了所需的'fb-root'元素在文档的正文中......您确实有其中之一,对吧? – Lix 2013-04-28 19:00:10

+0

噢,是的,我确实,对不起,没有。我将编辑主要问题。 – Maccyjam 2013-04-28 19:05:38

据Facebook的关于使用Facebook的JavaScript SDK的最新documentation,该方法包括SDK异步已更新:

(function(d){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
}(document)); 

它不会立即明显,我为什么会更可靠相比你的方法,但我可以说这是我在我的网站上使用,我没有经历过任何间歇性问题,

+0

它花了一些时间来完全解压缩代码示例,但它看起来像唯一的实质性区别是这两种方法之间的设置'js.async = true' – 2013-04-29 20:46:51

+0

感谢您的答复。它看起来并没有做什么,因为同样的事情正在发生,我没有看到“初始化”信息。我尝试了其他方法来获取我在其他网站上找到的SDK,但都无济于事。 – Maccyjam 2013-04-29 20:54:10