2017-04-09 112 views
0

我正在嘗試將Facebook共享合併到我正在構建的網站中。我遵循FB的指導,包括他們的Javascript SDK(並且將它們的代碼直接複製/粘貼到腳本標籤內,直接放在body標籤之後),但由於某種原因,它不起作用。在下面的代碼中,「running」已成功打印,但「Initialized」從不打印,shareFacebook函數從未成功初始化。有人知道爲什麼嗎?Facebook Javascript SDK未初始化

console.log("Running init script"); 
window.fbAsyncInit = function() { 
    FB.init({ 
    appId  : '444853392519445', 
    xfbml  : true, 
    version : 'v2.8' 
    }); 
    FB.AppEvents.logPageView(); 

    function shareFacebook() { 
    FB.ui({ 
     method: 'share', 
     href: 'https://developers.facebook.com/docs/' 
    }, function (response) { 
    }); 

    console.log("Inside shareFacebook"); 
    } 

    console.log("Initialized"); 
}; 

(function(d, s, id){ 
    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/sdk.js"; 
    fjs.parentNode.insertBefore(js, fjs); 
+0

您正在通過http/https調用您已經放入的頁面,而不僅僅是通過本地文件系統,對吧? – CBroe

回答

0

我想,我的問題與Facebook SDK一樣。你能否用

js.src = "//connect.facebook.net/en_US/all.js"; 

並刪除也version : 'v2.8'

+0

'all.js'是SDK的舊版本,它不支持事件日誌記錄。 'sdk.js'是應該使用的。 – CBroe