2010-07-13 32 views
5

Así que estoy agregando un botón de "iniciar sesión con Twitter" en mi sitio web. Expongo el inicio de sesión de Twitter en una ventana emergente. Cuando el usuario inicia sesión en Twitter, se lo redirecciona a una página de mi sitio que llama a una función de JavaScript en window.opener para notificar a la página que el inicio de sesión se ha completado y para actualizar.window.opener nulo después de redirigir?

El problema es que Twitter redirige al usuario de nuevo a la ventana de mi sitio.operador es nulo. La secuencia de comandos funciona bien si omito la página de inicio de sesión de Twitter. También esto parece ser un problema de IE, ya que funciona bien en Firefox.

¿Alguna idea?

¡Gracias de antemano!

+1

Cuándo es window.opener nulo. ¿Cuándo redirige la ventana emergente o la página principal? Si el último, ese es el comportamiento normal IIRC, 'abridor' apunta al documento de apertura no a la ventana. –

+0

Bueno, apunta al objeto 'window', pero sí,' opener' es transitorio, no sobreviviendo a la carga de un documento. Iniciar sesión en una ventana emergente no es una buena idea. – bobince

+0

Sí, para ser claro, es la ventana emergente que se está redireccionando e intentando llamar a window.opener. Mis requisitos son utilizar el inicio de sesión de Twitter y no dirigir a un usuario fuera de nuestra página. Bloques de Twitter usando su inicio de sesión en un iFrame, así que una ventana emergente es mi única opción real aquí. Si no puedo hacer referencia a window.opener después de redirigir, ¿cómo puedo notificar a la ventana principal que la ventana hija se está cerrando y que se ha completado el inicio de sesión? – DanielC

Respuesta

-1

Tal vez podría usar un lightbox que contenga un iframe para el inicio de sesión de Twitter. Luego puede usar "top" en lugar de "window.opener".

+0

Esa fue mi primera idea. Sin embargo, twitter tiene un código incrustado en su página de inicio de sesión diseñado para romper la página si se muestra en un iFrame. – DanielC

-1

cheque window.opener is null after redirect. Si proporciona una página de su propio dominio en la ventana emergente primero, no perderá la información de los padres. Al menos así es como funciona para mí.

Cuestiones relacionadas