Foros del Web » Programando para Internet » Javascript »

Cerrar ventana sin confirmación

Estas en el tema de Cerrar ventana sin confirmación en el foro de Javascript en Foros del Web. Hola a todos !!! Veréis, tengo una página que tiene un enlace para cerrarla. Al hacer click en él se abre una nueva página de ...
  #1 (permalink)  
Antiguo 21/03/2003, 06:17
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 21 años, 5 meses
Puntos: 1
[Resuelto] Cerrar ventana sin confirmación

Hola a todos !!!

Veréis, tengo una página que tiene un enlace para cerrarla. Al hacer click en él se abre una nueva página de despedida que se cierra automáticamente al cabo de 5 segundos. Lo malo es que luego me aparece un mensaje de confirmación para cerrar la página.

He consultado en las faqs y he visto el siguiente código:
<a haref="Cerrar" onclick="self.opener=null;self.close(); return false;"> Cerrar la ventana</a>

Pero esto no me funciona, supongo que será porque mi página tiene frames.

¿Podéis ayudarme para que no aparezca ese mensaje?

Muchas gracias

Última edición por KarlanKas; 24/03/2003 a las 04:16
  #2 (permalink)  
Antiguo 21/03/2003, 06:21
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 22 años, 3 meses
Puntos: 6
hola
prueba en el enlace
javascript:;window.close()
es mas simple para cerrar la ventana
si es un pop up normal la cierra sin alertas pero si utilizas frames creo que siempre te alertara de cerrar la ventana
saludos
__________________
Un Saludo
www.tutores.org
Asp | Php | Javascript | Perl | Coldfusion | Flash | +- 2000 codigos
  #3 (permalink)  
Antiguo 21/03/2003, 14:45
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Hola.

Aquí tienes lo que buscas: Faq de javascript nº115

Un saludo.

Carlos.
  #4 (permalink)  
Antiguo 22/03/2003, 05:55
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola Liz

Muevo tu pregunta a javascript

un saludo
  #5 (permalink)  
Antiguo 23/03/2003, 14:02
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 21 años, 5 meses
Puntos: 1
Hola a todos !!!

Veréis, en algunas páginas quiero que el enlace "Cerrar página" abra una ventana de despedida. En otras quiero que cierre realmente el navegador y para ello utilizo la fución de javascript window.close() como me indicáis. Lo que no quiero es que luego pida confirmación.


He probado a poner el código de la faq 115. Lo he colocado en el marco que contiene la opción de cerrar la ventana y en el enlace pongo javascript:window.close()

No se si es que algo sobra, o que tengo que poner el script en otro sitio, el caso es que no me funciona; ahora ni siquiera se cierra la página.

Por favor, podéis ayudarme con esto????
  #6 (permalink)  
Antiguo 23/03/2003, 14:10
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, Liz26.

Prueba esto a ver si te ayuda:
Código PHP:
<html>
<
head>
<
script language="JavaScript">
function 
cerrar() {
ventana=window.self;
ventana.opener=window.self;
ventana.close(); }
</script>
</head>

<body>
<a href="#" onClick="cerrar()">Cerrar ventana</a>
</body>
</html> 
Saludos,
  #7 (permalink)  
Antiguo 23/03/2003, 14:26
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 21 años, 5 meses
Puntos: 1
Mil gracias por la rápida respuesta, JavierB.

Lo he probado en el marco suelto y funciona perfectamente. Mañana a primera hora lo probaré en la página completa y lo subiré al servidor y luego te comento que tal.

Gracias de nuevo.
  #8 (permalink)  
Antiguo 23/03/2003, 16:09
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Perdón, Liz26. Fallo mío.

Se me olvidó ponerte como llamar a la función. JavierB, que siempre está atento, ha solucionado mi error.
  #9 (permalink)  
Antiguo 24/03/2003, 02:13
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 21 años, 5 meses
Puntos: 1
Hola a todos !!

Muchas gracias por vuestra ayuda, pero no me funciona. En el marco suelto lo hace perfectamente, pero con toda la página nada, la ventana sigue abierta, no se cierra.

Se os ocurre qué otra cosa puedo probar??
  #10 (permalink)  
Antiguo 24/03/2003, 02:30
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 21 años, 5 meses
Puntos: 1
SIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII!!!!!!!!!!

FUNCIONAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!

Probé a poner a incluir "parent " y funciona perfectamente. El código queda así:

function cerrar() {
ventana=window.parent.self;
ventana.opener=window.parent.self;
ventana.close();
}

MIL GRACIAS a todos por vuestra ayuda. Ahora me seguiré peleando para conseguir que se abra una ventana de despedida y luego no aparezca la confirmación de cerrar ventana.

Gracias de nuevo a todos. Me habéis ayudado un montón
  #11 (permalink)  
Antiguo 24/03/2003, 12:58
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Hola Liz26.

Cita:
Ahora me seguiré peleando para conseguir que se abra una ventana de despedida y luego no aparezca la confirmación de cerrar ventana.
Mira la Faq de Javascript nº62 y si no entiendes algo, pregunta.

Un saludo.
  #12 (permalink)  
Antiguo 25/03/2003, 02:14
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 21 años, 5 meses
Puntos: 1
Hola Carlitos!!

Muchas gracias por la sugerencia. Esto ya lo había probado, pero al final tuve que renunciar.

Verás, yo sólo quiero que aparezca la despedida cuando CIERRO una página, no cuando pincho en un enlace de la misma. Con el evento unonload, la despedida aparece siempre que me salgo de la página, bien sea porque la cierro o porque pincho en un enlace y abro otra.

Puse esta duda en el foro de HTML, pero nada.

Por ello, lo que hice fue poner el enlace "Cerrar página" para no ejecutar el evento onunload. Pero la página de despedida no es un simple "alert", es una página html, así que sigue apareciendome el mensaje de confirmación que quiero eliminar. Ayssssss !!!!!!!
  #13 (permalink)  
Antiguo 25/03/2003, 12:50
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Hola.

Has probado a ponerlo en el body de tu página index? (en la que defines el frameset)

Si tienes la web alojada en algún sitio y quieres poner aquí la dirección para que le podamos echar un vistazo y buscar la solución... ya sabes.
  #14 (permalink)  
Antiguo 26/03/2003, 02:26
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 21 años, 5 meses
Puntos: 1
Gracias, Carlitos.

Sí, probé a poner el evento OnUnload en el body de la página que contiene todos los marcos, pero nada. El navegador se cierra y no aparece la ventana de despedida.

Se me olvidó comentar una cosa, la ventana de despedida se cierra sola al cabo de unos segundos, que es cuando aparece el mensaje de confirmación de cierre que quiero evitar.

Ah! esta página no está aún alojada.

A ver si encontramos la salida ....

Saludos!

Última edición por Liz26; 26/03/2003 a las 04:19
  #15 (permalink)  
Antiguo 26/03/2003, 04:17
 
Fecha de Ingreso: noviembre-2002
Mensajes: 223
Antigüedad: 21 años, 5 meses
Puntos: 1
Hola de nuevo!!!!

¡¡ POR FIN HE CONSEGUIDO QUE FUNCIONE COMO QUERÍA!!


Lo comento por si le interesa a alguien. Partiendo de la solución que me habéis dado, he incluido en la función "cerrar" una línea para que me abra la ventana de despedida. Al final quedaría así:

function cerrar() {
ventana=window.parent.self;
ventana.opener=window.parent.self;
ventana.close();
window.open('../Pagina_Despedida.htm')

La llamada quedaría igual:

<a href="#" onClick="cerrar()"> Cerrar Web </a>

(Parent se incluye suponiendo que la página que contiene el enlace tiene frames).

De esta forma, al hacer clic en el enlace se abre la ventana de despedida (que desaparece automáticamente) pero no aparece el mensaje de confirmación para cerrarla.

Para cerrar automáticamente la ventana de despedida he utilizado el script:

<script>
var StayAlive = 4; // Number of seconds to keep window open
function KillMe(){
setTimeout("self.close()",StayAlive * 1000);
}
</script>

La función Killme se llama desde el body.

MIL GRACIAS A TODOS por la paciencia, las soluciones aportadas y, sobre todo, la posibilidad de hacerme aprender de vosotros !!!!!!!!!!

Nos vemos por el foro. Saludos !!!!!


Última edición por Liz26; 26/03/2003 a las 04:21
  #16 (permalink)  
Antiguo 26/03/2003, 11:55
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Enhorabuena.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:34.