transparente - ventana emergente php javascript
Abra la ventana emergente y actualice la página principal en la ventana emergente cerrada (11)
Abrí una ventana emergente por window.open en JavaScript, quiero actualizar la página principal cuando cierro esta ventana emergente. (¿Evento onclose?) ¿Cómo puedo hacer eso?
window.open("foo.html","windowName", "width=200,height=200,scrollbars=no");
El siguiente código logrará actualizar el cierre de la publicación principal de la ventana:
function ManageQB_PopUp() {
$(document).ready(function () {
window.close();
});
window.onunload = function () {
var win = window.opener;
if (!win.closed) {
window.opener.location.reload();
}
};
}
En mi caso, abrí una ventana emergente al hacer clic en el botón de enlace en la página principal. Para actualizar el padre al cerrar el hijo usando
window.opener.location.reload();
en la ventana hija provocó que se volviera a abrir la ventana secundaria (podría ser debido al estado de la vista, supongo. Corrígeme si estoy equivocado). Así que decidí no volver a cargar la página en el padre y cargar la página asignándole nuevamente la misma URL.
Para evitar que la ventana emergente se abra nuevamente después de cerrar la ventana emergente, esto podría ayudar,
window.onunload = function(){
window.opener.location = window.opener.location;};
La ventana emergente no tiene ningún evento cercano que pueda escuchar.
Por otro lado, hay una propiedad cerrada que se establece en true cuando se cierra la ventana.
Puede configurar un temporizador para verificar esa propiedad cerrada y hacerlo así:
var win = window.open(''foo.html'', ''windowName'',"width=200,height=200,scrollbars=no");
var timer = setInterval(function() {
if(win.closed) {
clearInterval(timer);
alert(''closed'');
}
}, 1000);
¡Mira este ejemplo de Fiddle en funcionamiento !
Puede acceder a la página principal con el comando principal (el padre es la ventana) después del paso puede hacer que todo ...
function funcx() {
var result = confirm(''bla bla bla.!'');
if(result)
//parent.location.assign("http://localhost:58250/Ekocc/" + document.getElementById(''hdnLink'').value + "");
parent.location.assign("http://blabla.com/" + document.getElementById(''hdnLink'').value + "");
}
Puede acceder a la ventana padre usando '' window.opener '', por lo tanto, escriba algo como lo siguiente en la ventana secundaria:
<script>
window.onunload = refreshParent;
function refreshParent() {
window.opener.location.reload();
}
</script>
Puede usar el siguiente código en la página principal.
<script>
window.onunload = refreshParent;
function refreshParent() {
window.opener.location.reload();
}
</script>
Si su aplicación se ejecuta en un navegador compatible con HTML5. Puedes usar postMessage . El ejemplo dado allí es bastante similar al tuyo.
Yo uso esto:
<script language=''javascript''>
var t;
function doLoad() {
t = setTimeout("window.close()",1000);
}
</script>
<script type="text/javascript">
function refreshAndClose() {
window.opener.location.reload(true);
window.close();
}
</script>
<body onbeforeunload="refreshAndClose();" onLoad=''doLoad()''''>
cuando la ventana se cierra, refresca la ventana principal.
en su página secundaria, coloque estos:
<script type="text/javascript">
function refreshAndClose() {
window.opener.location.reload(true);
window.close();
}
</script>
y
<body onbeforeunload="refreshAndClose();">
pero como un buen diseño de UI, debe usar un button
Cerrar porque es más fácil de usar. ver el código a continuación.
<script type="text/javascript">
$(document).ready(function () {
$(''#btn'').click(function () {
window.opener.location.reload(true);
window.close();
});
});
</script>
<input type=''button'' id=''btn'' value=''Close'' />
window.open devolverá una referencia a la ventana recién creada, siempre que la URL abierta cumpla con la misma política de origen .
Esto debería funcionar:
function windowClose() {
window.location.reload();
}
var foo = window.open("foo.html","windowName", "width=200,height=200,scrollbars=no");
foo.onbeforeunload= windowClose;
Prueba esto
self.opener.location.reload();
Abra el padre de una ventana actual y vuelva a cargar la ubicación.