2015-11-03 27 views
0

我正尝试使用开发人员页面上提供的SDK建立与Facebook的简单连接。但是,“window.fbAsyncInit”功能从未被调用,所以控制台不显示“hello”字符串。当我使用同步呼叫时,出现错误,提示“FB未定义”。Facebook连接未启动

我的代码(我取代 '[我的应用程序ID]' 以我的Facebook应用程序内的ID):

<!DOCTYPE html> 
<html> 
<head lang="en"> 
<meta charset="UTF-8"> 
<title></title> 
<script src="//connect.facebook.net/en_US/all.js"></script> 
</head> 
<body> 
<div id="fb-root"></div> 
<script> 
window.fbAsyncInit = function() { 
    console.log("hello"); 
    FB.init({ 
     appId  : '[MY APP ID]', 
     xfbml  : true, 
     version : 'v2.5' 
    }); 
}; 

(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); 
}(document, 'script', 'facebook-jssdk')); 

</script> 
<div> 

</div> 
</body> 
</html> 

我错过了什么重要的东西吗?

+0

您是否收到任何错误?你能提供一个链接,让我们可以看到网页直播并检查JavaScript控制台吗? –

+0

我目前正在本地页面上工作。没有错误,fbAsyncInit从未被调用过。 – user1638628

回答

0

偶然,您是否正在通过在本地计算机上打开html文件进行测试(例如,文件>打开)?

相关协议路径(//connect.facebook.net/en_US/all.js)当你正在浏览的本地文件不起作用,因为它加载的路径将是相对于本地驱动器(file://///connect.facebook.net/en_US/all.js

尝试增加一个明确的https:到两个js路径的前面,看看是否有帮助!