簡體   English   中英

Facebook Javascript SDK未加載

[英]Facebook Javascript SDK Not Loading

我剛剛開始使用Facebook SDK,我正在嘗試使用一個抓取用戶名和朋友列表的腳本。 這是我正在使用的初始化代碼:

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-root元素。 大約一半的時間,SDK加載正常,我在控制台中看到初始化和連接的消息。 但是,另一半的時間,我只看到“正在加載SDK”消息而沒有別的,我認為這意味着SDK無論出於何種原因都未正確加載。 我也注意到它加載到頁面導航,但很少刷新。

我的問題是:什么導致SDK無法加載某些時間,我該如何解決問題?

根據Facebook關於使用Facebook JavaScript SDK的最新文檔 ,異步包含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));

對於我來說,為什么與您的方法相比,這會更加可靠,但我可以說這是我在我的網站上使用的,而且我沒有遇到任何間歇性問題,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM