Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
window.close
Enviado por Santiago el día 21 de febrero de 2003
Hola a todos:
Tengo un problemilla, que es este: Tengo una barra de navegacion hecha con javascript que me abre una ventana normal (miventana.htm), desde miventana.htm me abre una popup, pero lo que ahora quiero es cerrar automaticamente miventana.htm. Lo que he encontrado en Internet siempre sale una ventana del Sist.Operat. preguntando si se quiere o no cerrar la ventana, lo que quiero es que no se pregunte, sino que se cierre, sin mas. El codigo es este:
en el head esto:
function auto_close(delai)
{
setTimeout("self.close()",delai);
}
-->
</script>
Hola, como estas?
Bueno creo que entiendo tu problema.
Lo que tu tienes que haces es:
<A HREF="javascript:window.close()"><img src="la_imagen_que_quieras.jpeg"></a>
Ahi asi, haras que la pagina que abriste se cierre al hacer click en la imagen.
Otra forma es:
<img src="la_imagen_que_quieras.jpeg" onClick="javascript:window.close()">
Puedes hacer que se cierre de diferentes formas, en lugar del "onClick" puedes poner, OnLoad, OnDblClick, Onmouseover, etc.
Espero que te sirva de algo, no c sirve para Cgi, pero intentalo.
Hasta luego.
Chau
Hola, todo bien?
Bueno que dirias si te digo que lo que quieres no se puede hacer?
Cuando quieres cerrar una ventana atraves de un codigo en JavaScript, y esa ventana es del IE, siempre te vav a preguntar si deseas cerrar o no la ventana. Es una espcie de seguridad del IE, el browser que ejecuta la orden sin preguntar si deseas cerrar o no la pagina es Netscape.
Bueno, espero que lo que te haya dicho, haya sido la respuesta a tu pregunta.
Nos vemos y hasta la proxima.
Chau
Elh
http://lapaginadeloschistes.tk
Hola, no se puede.
La pagina "principal" no la puedes cerrar sin que antes el IE te pregunte, lo que si puedes cerrar sin que el IE te pregunte es una seguna pagina que abras. Vayan a http://membres.lycos.fr/andres0745/ y vayan a envienme un email o algo asi, y van a ver como se abre una segunda ventana, esa segunda ventana que se abre al hacer click ahi, si se puede cerrar sin que el IE pregunte, pero la pagina que tiene el toolbars, y todo eso, esa no se cierrar sin que antes el IE te pregunte.
Espero que lo que diga sea correcto, si no esta conerrecto, porfavor que ponga un buen ejemplo de ello.
Gracias
Hasta la proxima.
ElH
http://lapaginadeloschistes.tk
Con respecto a que no se puede cerrar la pagina padre del explorer sin preguntar
pagina que llama a un po pup .que se cierra automaticamente .
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
window.open('http://www.delfinotours.com/enlace/enlace_dunes/po...');
setTimeout("javascript: window.opener=''; window.close();",0.01)
Pues que te parece si te digo que si se puede hacer, lo he implementado n veces y simplemente con javascript, es muy simple, pero seguro que una mente tan brillante como la tuya lo podra sacar obeservando la diferencia entre el valor de la ventana cuando se pregunta y cuando no lo hace.
Hola, como estas?
Bueno, me parece bastante bien.
Yo tenia entendido que no se podia hacerlo, pero si dices que si, que bueno, la verdad nunca intente cerrar la ventana atraves de un codigo, lo unico que hice fue ponerlo en una nueva ventana que se abria. Estoy intentando averiguar la forma de hacer lo que tu dices, espero que lo logre.
Bueno y este es un ejemplo de como se puede aprender algo nuevo cada dia, esa es una de las razones por las cuales visito regularmente los foros de programacion.com
Bueno, nos vemos
Chau
ElH
Hola, y ¿ cómo puedo hacer para que se cierre la ventana pero me abra a continuación el IE con una url en concreto y con todas las propiedades, es decir, scrollbar, menubar....?
Enviado por scriptman el día 25 de noviembre de 2003
A ver, este es un tema a al parecer les interesa a varios, pero esto no se trata de adivinanzas o de copear codigo de algun lado q "sirva"...
Simplemente hay q informarse, y entender que es lo q queremos hacer y como funcionan las cosas; tengamos en cuenta que:
1) Internet Explorer para Windows, y Netscape 4.x, no permiten cerrar una ventana con JavaScript ( con window.close() ) sin pedir confirmacion del usuario si la pagina tiene historial, es decir, si se le puede dar "back" o atras, tenga o no tenga mostrados los botones de navegacion.
2) Las ventanas abiertas con javascript, (o/y popups)
SÍ pueden ser cerradas con windw.close() sin pedir confirmacion. Asi como las ventanas principales que no tengan historial.
3) IE para mac, Opera, Netscape 6.x, etc. Si cierran las ventanas con windo.close() sin preguntar, sin importar si es la principal o popup.
4) Las ventanas abiertas con JS, o popups, tienen un parametro llamado window.opener, que referencia a la ventana madre, de donde se abrio.
5) Se puede "engañar" al IE para Windows, y hacerle creer que una ventana principal es un popup, al asignarle un valor a su window.opener, asi;
<a href="javascript: window.opener=''; window.close();">cerrar ventana principal sin confirmar</a>
Para cerrar una ventana principal, DESDE un popup o ventana abierta con JS, sólo tienes que referenciarla y asignarle un valor al opener DEL opener o ventana madre; asi:
window.opener.opener=''; window.opener.close()
Creo que con esto se aclaran mas las cosas. Cualquier duda pregunten aqui mismo.
Scriptman, muchísimas gracias por tu intervención, ya podía haber más gente como tu en estos foros, me has solucionado un problema importante. Funciona estupendamente.
Scriptman,
Disculpame pero me perdi cuando explicas el 5 punto. podrias ser un poco mas claro "algun ejemplo" cuando te refieres a "referenciar" (en donde en el codigo de la pagina popup o en la ventana madres)
Deveras que en la programacion todo se pude basta con tener un poco de tenacidad y esmero en hacer o buscar las cosa
Hay les va el codigo para cerrar la ventana sin preuntar y despues de 4 segundos este tiempo puede ser modificado creo que desobra estaria explicarles programadores
Amigo Muchas gracias por tu ayuda, deverdad que con espero y ganas todo e puede, gracia a ti logre encontrar lo que buscaba, muchas gracias por tu ayuda.
Sigui asi, y gracias por brindar tus conocimientos con los que no sabemos tanto.
Scriptman.
Tengo un gran problema , el po pup que yo quiero mostrar lo estoi llamando de un reporte de crystal report que esta publicado, por lo que no tengo acceso a la etiqueta script de esa pagina. Por lo que llamo a una pagina de enlace que me abre el po pup que quiero mostrar ,el problema esta en que me cierra la pagina del reporte
Scriptman.
Tengo un gran problema , el po pup que yo quiero mostrar lo estoi llamando de un reporte de crystal report que esta publicado, por lo que no tengo acceso a la etiqueta script de esa pagina. Por lo que llamo a una pagina de enlace que me abre el po pup que quiero mostrar ,el problema esta en que me cierra la pagina del reporte
Enviado por damimcp el día 2 de septiembre de 2004
Hola amigo, tengo el siguiente problema, tengo una pagina principal dividida en 2 frames, la superior topFrame y principal mainFrame. Bueno desde mainFrame abro una subventana para cargar ciertos datos, tengo un link en la subventana que me manda los datos que tome a la mainFrame. los hago con la siguiente función
function actualizamainFrame(autor)
{
window.opener.document.frames.form1.autor.value = autor
}
esta funcion me funciona perfectamente en IE, pero Netscape y Safari (Mac) no me manda los datos. Se que hay diferencias de compatibilidad entre los navegadores, pero me podrias dar alguna otra idea?
Si lees de nuevo la explicacion veras que si se puede:
solo referencia a A desde C, agregale un "opener." al ejemplo de cerrar A desde B...
Pero no es muy practico el que abras muchas ventanas y despues cierres la principal... el problema vendria si el usuario cierra la ventana B, entonces la referencia hacia A desde C no podria darse...
Quiero cerrar una ventana principal a través de un código en JavaScript, y esa ventana es del Netscape versión 7.1 u 8, pero los scripts que funcionan en Explorer, en este navegador no me funcionan, un ejemplo:
<script languaje='javascript'>
function msg() {
alert('La ventana se cerrara');
window.close();
}
</script>
Necesito algún código en particular, algún comando que solo Netscape reconoce? Realmente no me importa si antes de cerrar la ventana me pregunte si la cierra o no, sólo que lo haga. Gracias.
hola a todos.
seguro que este metodo funciona?
bueno, funcionar si funciona, pero creo que solo a partir del ie 6, porque lo probe en el ie5 pero nada.
alguien me lo podria confirmar?
Hola, segun recuerdo a partir del IE5.5 ese script funciona tal cual, es un asunto de la propiedad window.opener, pero en la documentacion de IE de microsoft dice que a partir de la 4.0 en todas las plataformas es editable:
[ http://msdn.microsoft.com/library/default.asp?url=... ]
Y en la de Mozilla lo ponen como parte de la DOM 0:
(Specification DOM Level 0. Not part of specification.)
Como comentaron, prueba asignando un valor al opener, no solo ="", tal ves eso resuelva el problema.
Hola a tod@s, ya veo q no soy la unica q tiene problemas con las ventanas. Buneo mi problema es ql esiguiente:
tengo una ventana principal, de ella accedo a una ventana pequeña para meter usuario y contraseña, al validar si es correcto me abre una tercera ventana, pero queiro que me cierre las dos anteriores. Lo hago todo desde la 2ª ventana:
Cierro la opener q ha llamado a la 2º ventana q es la 1º, luego abro la 3º ventana y luego cierro la 2º:
Ejemplo:
Bueno parece Raro lo que quieres hacer Syba ya que la mayoría de veces sale mucho más conveniente actualizar la ventana principal esto es la ventana que invoco al popup, que abrir una nueva, pero bueno solo telo dejo como recomendación.
EL trabajo con ventanas secundarias consiste en que tanto la ventana principal como el popup se puedan comunicar entre si y mandarse órdenes y comandos desde una a la otra.
La comunicación podrá ser en dos sentidos:
1. Desde la ventana principal a la secundaria.
2. Desde la ventana secundaria a la principal.
1. La referencia Javascript a la ventana que se acaba de abrir se obtiene gracias al valor de retorno del método open. Para guardar la referencia asignamos el valor de retorno del método a una variable.
referenciaVentana = window.open(“mi_url.html”,”nombre”,”width=100,height=300”)
Luego podremos acceder a los métodos y propiedades de esta manera. referenciaVentana.close()
referenciaVentana.document.bgColor = “red”
2. También podemos acceder desde un popup a la ventana que lo abrió, para acceder a los métodos y propiedades de la ventana, o hacer lo que deseemos con Javascript. Para ello, en el popup hay una variable declarada que es opener. En realidad es una propiedad del objeto window del popup, que hace referencia al objeto window de la ventana "abridora" (opener).
Bien ya basta de tanto palabrerio y manos ha la obra con el ejemplo para que entiendas un poco mejor dicho funcionamiento
Para nuestro ejemplo crearemos dos paginas HTML como sigue, principal.html y formularios.html la cual la pagina principal invoca ala pagina secundaria popup del formulariod e datos donde ingresas la información esta asu ves si lo que ingresas es correcto cierra la ventana principal y la secundaria y abre una nueva en blanco claro esta ya que medio hueva crear otra mas para este ejemplo eso telo dejo ati…
Bueno llaves que todo se puedo teniendo un poco de esmero en hacer o buscar las cosas y entenderla…
---------------------//principal.html//-------------------------------
<html>
<head>
<title>Pagina Principal Acceso User,Pass</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style2 {font-size: 12px}
-->
</style>
<script language="javascript">
function winopen(pagina,nombreventana,w,h) {
myWin=open(pagina,nombreventana,'width=' + w + ',height=' + h +',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,titlebar=no');
}
//Desde una ventana también tenemos acceso a las variables y funciones que hayamos declarado en otras ventanas. Gracias a esto, desde un popup podemos
//controlar el estado de las variables de la página principal y llamar a funciones para hacer cualquier cosa que necesitemos.
function closewinpri(){
//Autor Carlos Clavel ->SHAK
window.opener='';
window.close();
}
</script>
</head>
<body>
<br><br>
<!--Aqui va el boton de acceso a la pagina secundaria de validacion-->
<center>
<strong>Sistema Rapido de Acceso Para Usuario Validos: Autor</strong><span class="style2">(Carlos Clavel SHAK)
</span>
<form name="frmprinci" method="post" action="#" >
<table><tr><td>Clic Ingresar:</td><td><input type="button" value="Ingresar" name="btnIngre" onClick="winopen('formularios.html','formulario','300','100')"></td></tr></table>
</form>
</center>
</body>
</html>
---------------------//formularios.html//-----------------------------------
<html>
<head>
<title>Pagina de Formularios</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!-- podemos acceder desde un popup a la ventana que lo abrió, para acceder
a los métodos y propiedades de la ventana, o hacer lo que deseemos con Javascript.
Para ello, en el popup hay una variable declarada que es opener.-->
<script language="javascript">
function validar(){//initvalidar
//Autor Carlos Clavel ->SHAK
//opener.window.close();
if (frmvalida.txtuser.value=="shak" && frmvalida.txtpass.value=="morris"){
window.opener.closewinpri()
window.opener.focus()
//Abriendo una ventana habro una en blaco pero se habriri la tuya con la info ha
//desplegar la ventana de acceso la 3ª
var miPopup
miPopup = window.open("about:blank","miventana","width=600,height=400,menubar=si")
//Cerrando la ventada de acceso genera la 2 la que cerro la 1ª y abrio la 3ª
window.opener='';
window.close();
}//if1
else{//else1
alert("Usuario o Password no validos");
}//else1
//Autor Carlos Clavel ->SHAK
}//fin validar
</script>
</head>
<body>
<form name="frmvalida" action="#" method="post">
<center>
<table>
<tr><td><strong>Usuario</strong>:</td><td><input type="text" name="txtuser"></td></tr>
<tr><td><strong>Pass:</strong></td><td><input type="text" name="txtpass"></td></tr>
<tr><td height="26">USER:shak</td>
<td><div align="right">
PASS:morris
<input type="button" value="Login" name="btnlogin" size="12" onClick="validar()">
</div></td></tr>
</table>
</center>
</form>
<!--Como este es u n pequeño ejemplo de utilizacin de ventas y
no de validacion lo hare por variables definidas en javaScript
que esto no es recomendable por ningun motivo, la utilizacion de php,
o u CGI haria el paso de acceso verdaderamnte segura-->
</body>
</html>
Crea las dos páginas y abre primero la principal, bueno espero que con este ejemplo práctico haber aclarado tus dudas un poco, no me extiendo mas ya que el mismo código esta comentariado para entender mejor cada línea.
Fue un placer Syba, y espero te haya quedado claro carlosclavel23@yahoo.com mi correo por si quieres escribir.
Que la Información Fluya libremente -- >The Future is Now SHAK
a mi no me funciona
var miPopup
miPopup = window.open(\\\"about:blank\\\",\\\"miventana\\\",\\\'width=600,height=400,menubar=si\\\')
//Cerrando la ventada de acceso genera la 2 la que cerro la 1ª y abrio la 3ª
window.opener=\\\'\\\';
window.close();
tarde mucho tiempo en hacer mi Autorun en mis cds con codigos html, lo malo es que el archivo maestro se daño y no pude recuperarlo.
mi peticion es esta:
¿me podrian recordar los codigos que hacia esto?:
al abrir la paguina principal, abria otra (hija) en pantalla completa y despues la Padre, Se cerraba automaticamete sin pedir confirmacion.
Bueno, acabo de leer todo acerca de cerrar ventanas y pues.... funciona muy bien en ie, pero ahora en mozilla 1.5x la funcion window.close(); no se ejecuta, ni siquiera pregunta nada, simplemente no hace nada, pongo un alert antes y otro despues y estos se muestran pero cerrar la ventana no, alguien sabe que se puede hacer.
Perdonen he realizado cada una de las soluciones prupuestas y no he conceguido hechar a andar ninguna tengo la terrible sospecha que en IE 7 no opera podrian ayudarme por favor.