0
올바른 FB를 반환하지 않고 fb_login_status_response
이 다음 스크립트 (관련 스 니펫 만)를 실행할 때 콘솔에서 "Uncaught ReferenceError : fb_login_status가 정의되지 않음"을 반환하는 이유를 알 수 없습니다. getLoginStatus. 모든 아이디어/피드백은 높이 평가 될 것입니다. 감사! FB.getLoginStatus()
호출이 비동기 (syncronous되지 않음) 때문에함수에서 FB.getLoginStatus 반환
<script>
function load_fb(){
window.fbAsyncInit = function() {
FB.init({
appId : '251975954634982', // App ID
//channelURL : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // enable OAuth 2.0
xfbml : true // parse XFBML
}); // closes FB.init
fb_login_status = FB.getLoginStatus(function(response){
console.log("FB.getLoginStatus: ", response.status);
// NOTE - the line above does log an accurate response.status in the console!
response.status;
// NOTE - I've tried putting the return statement here, but that doesn't work.
});
};
return fb_login_status; // NOTE - this return statement is what generates the "Uncaught ReferenceError:..." in console
}
// Load FB SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
$(document).ready(function(){
sb_session_status = checkIfSignedIn();
if (sb_session_status == "valid"){
$(".loggedIn").css("display","block");
// Block of code for logged-in users goes here
}
else{
fb_login_status_response = load_fb();
console.log("fb_login_status_response: ", fb_login_status_response);
// NOTE - else clause here to check if user signed-in via facebook
}
});
</script>
매우 유용합니다. 고맙습니다! 나는 아직 내 프로그램에서 그것을 테스트 할 기회가 없었지만, 당신의 설명은 많은 의미가 있습니다. 일단 일을하면 확인하겠습니다. –