Lo siguiente vincula el evento de inicio de sesión a un div. Si hago clic en él, obtengo la ventana emergente de inicio de sesión js sdk esperada. Sin embargo, después de enviar la ventana emergente con mis credenciales, la ventana emergente se vuelve blanca y no se cierra. Si actualizo la página, estoy conectado, pero no se actualiza automáticamente como es de esperar. ¿Alguien tiene alguna idea?Facebook JS SDK: la ventana emergente de inicio de sesión no se cierra
Editar: El mismo código (con ID de aplicación diff y credenciales de dominio) funciona en un servidor diferente. Esto me lleva a pensar que mi problema podría no estar relacionado con el código siguiente. ¿Hay alguna aplicación o configuración del servidor que pueda causar que la ventana emergente de inicio de sesión no se cierre/actualice?
<!DOCTYPE html>
<html class="no-js ie ie10plus" lang="en" xmlns:fb="http://www.facebook.com/2008/fbml">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# object: http://ogp.me/ns/object#">
<script src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.0.6-development-only.js"></script>
</head>
<body>
<div id="fb-root"></div>
<div id="fbLogin">Test login link</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" ></script>
<script>
var fbmm = {};
window.fbAsyncInit = function() {
FB.init({
appId : '339910146083688', // App ID
cookie: true,
xfbml: true,
status: true,
oauth: true
});
$(document).ready(function(){
$("#fbLogin").click(function(){
console.log('test');
FB.login(function(response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) {
console.log('Good to see you, ' + response.name + '.');
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
});
});
});
};
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
</body>
</html>
Su código está muy bien, trabajando como se espera. – Philip
Gracias Philip. Sin embargo, mi ventana de diálogo no se cierra en el dominio del puerto 8000, cuando no estoy autenticado e inicio de sesión. No estoy seguro, pero es posible que deba desconectarse de Facebook y hacer clic para ver el error. – Matrym
Cerré la sesión y la ventana se cierra después de iniciar sesión. Lo ejecuto en el puerto 80 con mi app_id. En la configuración de la url de su aplicación, ¿ha agregado la url con el puerto? – Philip