Abrí una ventana emergente por window.open en JavaScript, quiero actualizar la página principal cuando cierro esta ventana emergente. (¿Evento de cierre?) ¿Cómo puedo hacer eso?
window.open("foo.html","windowName", "width=200,height=200,scrollbars=no");
Respuestas:
Puede acceder a la ventana principal usando ' window.opener ', por lo tanto, escriba algo como lo siguiente en la ventana secundaria:
fuente
popupWindow.closed
usandosetInterval
como en la solución de @ Zuul.La ventana emergente no tiene ningún evento de cierre que pueda escuchar.
Por otro lado, hay una propiedad cerrada que se establece en verdadera cuando se cierra la ventana.
Puede configurar un temporizador para verificar esa propiedad cerrada y hacerlo así:
¡Vea este ejemplo funcional de Fiddle !
fuente
en la página de su hijo, ponga estos:
y
pero como un buen diseño de interfaz de usuario, debe usar un cierre
button
porque es más fácil de usar. ver código a continuación.fuente
Yo uso esto:
cuando la ventana se cierra, actualiza la ventana principal.
fuente
window.open devolverá una referencia a la ventana recién creada, siempre que la URL abierta cumpla con la Política del mismo origen .
Esto debería funcionar:
fuente
En mi caso, abrí una ventana emergente al hacer clic en el botón de enlace en la página principal. Para actualizar a los padres sobre el cierre del niño usando
en la ventana secundaria provocó que se volviera a abrir la ventana secundaria (podría ser debido al estado de vista, supongo. Corrígeme si me equivoco). Así que decidí no volver a cargar la página en el padre y cargar la página nuevamente asignándole la misma URL.
Para evitar que la ventana emergente se abra nuevamente después de cerrar la ventana emergente, esto podría ayudar,
fuente
Si su aplicación se ejecuta en un navegador compatible con HTML5. Puede utilizar postMessage . El ejemplo que se da allí es bastante similar al suyo.
fuente
Prueba esto
fuente
Puede acceder a la página principal con el comando principal (el padre es la ventana) después del paso, puede hacer todo ...
fuente
Puede utilizar el siguiente código en la página principal.
fuente
El siguiente código logrará actualizar el cierre de la publicación de la ventana principal:
fuente