2015-11-03 3 views
0

Я пытаюсь установить простую связь с Facebook с помощью SDK, представленного на странице разработчика. Тем не менее, функция «window.fbAsyncInit» никогда не вызывается, поэтому консоль не отображает «hello» -String. Когда я использую синхронный вызов, я получаю сообщение об ошибке «FB не определен».Подключение к Facebook не начинается

Мой код (я заменил '[MY APP ID]' с идентификатором моего Facebook-App):

<!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 и посмотрите, поможет ли это!

Смежные вопросы