PDA

Ver la Versión Completa : Al cerrar la pagina


jhonny
16-09-2005, 01:36:09
Hola amigos del foro, tengo una pregunta que puede ser muy sencilla de responder pero que no tengo mucha idea de que hacer, mi caso es el siguiente:

Necesito que cuando la persona quiera salir de determinada pagina web, muestre un mensaje de confirmacion "En realidad desea salir?", si el usuario le da Si pues se cierra y si le da No pues que no pase nada y siga trabajando como lo venia haciendo, y eso es todo.

Mil y mil gracias de antemano por tomarce la molestia de leer este "Post".

dec
16-09-2005, 02:35:06
Hola,

Si no me equivoco el primer "JavaScript snippet" de esta página (http://www.jevon.org/wiki/Javascript) puede ayudarte ;)



<html>
<head>
<script type="text/javascript">
function confirmExit()
{
return "Perderá sus datos si sale de esta página ahora...";
}
</script>
</head>
<body onbeforeunload="return confirmExit()">
<p>
<a href="http://www.clubdelphi.com/">ClubDelphi</a>
</p>
</body>
</html>

Ojo, lo probé en Internet Explorer 7 beta 1 y en FireFox 1.04 y funciona, empero, en Opera 8.02 no parece funcionar...

jhonny
16-09-2005, 17:38:03
Muchisimas gracias dec, Mira... No sabia que existia el tal evento OnBeforeUnLoad (a prorposito sabeis donde hay una lista completa de dichos eventos?), la funcion se comporta de maravilla el problema es que se comporta tan de maravilla que cada que voy a dar click para pasar a otra pagina se dispara el evento.

¿Que puedo hacer para que se dispara solo y unicamente solo cuando se cierre el navegador?

P.D. Disculpas por mi redaccion anterior quiera salir de determinada pagina web
La verdad me falto especificar un poco. ;), De nuevo Gracias.

dec
16-09-2005, 18:19:05
Hola,


(...) a prorposito sabeis donde hay una lista completa de dichos eventos?

Bueno. Deja que diga antes de nada que yo de JavaScript entiendo más bien poco, casi nada, muy poco, en fin... El caso es que he tratado de buscar lo que precisas en Internet y hay un problema: demasiada información, demasiados resultados. Supongo que con un poco de paciencia... ;)


¿Que puedo hacer para que se dispara solo y unicamente solo cuando se cierre el navegador?

A mí se me ha ocurrido algo como lo siguiente, aunque, me deja dudas: no sé hacerlo en JavaScript, así, a bote pronto, pero, para mí tengo que hay otra forma mucho más adecuada de hacer lo que a continuación se verá: que es, por otro lado, o puede salir un poco "caro"... porque una página no tiene porqué tener dos o tres enlaces...


<html>
<head>

<script type="text/javascript">

var banderaSalida = true;

function confirmExit()
{
if (banderaSalida)
{
return "Perderá sus datos si sale de esta página ahora...";
}
}

function ConfirmarSalida(activar)
{
if(activar != banderaSalida)
{
banderaSalida = activar;
}
}

</script>

</head>
<body onbeforeunload="return confirmExit()">
<p>
<a href="http://www.clubdelphi.com/" onclick="ConfirmarSalida(false)">ClubDelphi</a>
</p>
</body>
</html>

dec
23-09-2005, 04:36:33
Hola,


(...) a prorposito sabeis donde hay una lista completa de dichos eventos?

Tal vez esta página Web (http://www.quirksmode.org/js/events_compinfo.html) no te parezca mal del todo. (Vía PlanetaCodigo.com (http://www.planetacodigo.com/foros/viewtopic.php?id=118))