2011-05-02 14 views
8

Si abro una ventana (con window.open), puedo detectar cuando sus cambios de URL (a una específica), teniendo en cuenta que:Escuchar al cambio de URL en la ventana abierta

  • El URL inicial de la ventana es en otro dominio (Facebook, para ser precisos)
  • La URL estoy interesado en la detección es demasiado

necesito esto para la autenticación. See "Desktop apps" at the bottom of this page.

+0

¿Se está ejecutando en una aplicación de escritorio? Esto es importante ya que en los navegadores web normales no se puede leer desde el objeto ventana (devuelto por 'window.open') si está en un dominio diferente, pero en un control web de dektop cliente las reglas pueden ser más laxas. –

+0

¿Está integrando el navegador en su aplicación de escritorio? – Femi

+0

Está en un navegador, pero la aplicación de escritorio me resulta más conveniente que la redirección a una URL real en mi sitio (porque hay algunos controles que hacen que las pruebas con una versión local sean molestas). Aún así, eso es posible si esto falla. –

Respuesta

2

Mientras la nueva URL resida en un dominio que no se considera igual al suyo por la misma política de origen, entonces esto será imposible.

0

Bueno, una de las formas que he encontrado es simplemente seguir sondeando la ventana location.href (usando setTimeout), pero no es muy elegante.

Actualización: No funciona. Puedo console.log(newWin.location) bien, pero cuando intento acceder a href o hash obtengo errores de seguridad entre dominios.

Cuestiones relacionadas