¿Cómo cerrar la ventana de inicio de sesión emergente de Facebook después de que el usuario se conecta?
-
05-07-2019 - |
Pregunta
Debajo está mi código. Por alguna razón, después de que el usuario inicie sesión en la pequeña ventana emergente, la pequeña ventana se redireccionará a '/ " con una gran cantidad de basura JSON de sesión al final de la URL.
¿Cómo hago para que la pequeña ventana se cierre y mi ventana primaria se actualice?
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US" type="text/javascript"></script>
<fb:login-button v="2" onlogin='window.location("/test");' size="medium">Connect</fb:login-button>
<script type="text/javascript">FB.init("XXXXX",'/xd_receiver.htm');</script>
Solución 6
Lo resuelvo. Tenía que ver con mi configuración en la página de FAcebook.
Otros consejos
Acabo de resolver un problema similar: cuando inicias sesión con la ventana emergente de inicio de sesión de Facebook y se cierra, la página no se actualizó.
Mi aplicación de Facebook no se configuró correctamente. Simplemente vaya a la configuración de su aplicación en Facebook y especifique la URL correcta del sitio (en la sección Sitio web). Si lo está probando localmente, puede poner http: // localhost /
Espero que esto ayude!
Recarga de página
Intente establecer la marca reloadIfSessionStateChanged
para FB.init
. Por ejemplo,
FB.init( "myAPIkey",
"path/to/xd_receiver.htm",
{"reloadIfSessionStateChanged": true}
);
Desde la API de Facebook
reloadIfSessionStateChanged
bool - Si el valor es verdadero, Facebook monitoreará los cambios en el estado de la sesión y volver a cargar la página actual si el Cambios de estado de sesión. Esta opcion es conveniente para una implementacion que necesita recargar la página siempre que cambio de estado de sesión con el fin de generar diferente contenido del servidor lado.
Para obtener más información, visite http: // developers .facebook.com / docs /? u = facebook.jslib.FB.Facebook.init
La ventana emergente no se cierra
Descubrí que es posible que tenga problemas con la ventana emergente que no se cierra si su ruta / a / xd_receiver.html
es incorrecta, o si su función onlogin
para su botón de conexión no está definido, así que asegúrese de verificarlos dos veces.
Espero que ayude!
Puede usar el atributo onlogin de esta manera:
onlogin="document.location.href=document.location.href;"
Esto será ejecutado por el abridor (actualizar la página).
Si elimina el atributo onlogin, la ventana emergente también se cerrará, pero la página siguiente no se actualizará.
Escribí un tutorial sobre la integración de una comunidad con Facebook Connect, puede leerlo aquí .
Parece que tienes una 'h' aleatoria en tu código. ¿Podría esto estar jugando con la funcionalidad JS?
FB.init("XXXXX",'/xd_receiver.htm'h);
^
Mi ventana emergente no se estaba cerrando (al publicar en una fuente) porque no tenía el archivo channel.html en el lugar correcto. Después de hacer la publicación, se redirige al archivo channel.html para (en parte) cerrar la ventana emergente, por lo que no tenerla en el lugar correcto significaba que no se cerró.