Я пытаюсь сделать следующую простую интеграцию facebook:Я не в состоянии getLoginStatus
Я просто хочу, чтобы прочитать ранее уполномоченный статус приложения, либо подключенный или не санкционировано я хочу иметь дело с результатом.
Но я получаю ошибку FB.getLoginStatus() called before calling FB.init()
. Что имеет смысл, если .init
не закончил, а я позвонил getLoginStatus
.
Как решить эту проблему без необходимости добавления асинхронной динамической ссылки js?
<script language="javascript">
$(document).ready(function() {
window.fbAsyncInit = function() {
FB.init({
appId: 'myappid', // App ID
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
xfbml: true // parse XFBML
});
};
FB.getLoginStatus(function (response) {
alert(response.status);
if (response.status == "connected") {
$("#lkLogin").css("display", "none");
$("#spUser").css("display", "inline");
$("#spUser").html(response.name);
} else if (response.status == "not_authorized") {
$("#lkLogin").css("display", "inline");
$("#spUser").css("display", "none");
}
});
});
</script>
<a href="#" id="lkLogin" style="display:inline;">Facebook Login</a>
<span id="spUser" style="display:none;"></span>
это не имеет никакого смысла – RollRoll
Если 'FB.init()' находится за пределами '$ (документ) .ready' он будет называться первым. Затем методы FB можно использовать где угодно, а не только в функции 'fbAsyncInit'. – chrisboustead