Foros del Web » Programando para Internet » Javascript »

Leyenda al cerrar la ventana..

Estas en el tema de Leyenda al cerrar la ventana.. en el foro de Javascript en Foros del Web. Tengo un formulario de pago que debe completar el usuario para solicitar un producto y quisiera que de arrepentirse el cliente y cerrar la ventana ...
  #1 (permalink)  
Antiguo 28/04/2003, 00:07
Avatar de cvander
Moderador
 
Fecha de Ingreso: abril-2001
Ubicación: Ciudadano del mundo
Mensajes: 13.638
Antigüedad: 23 años
Puntos: 1792
Pregunta Leyenda al cerrar la ventana..

Tengo un formulario de pago que debe completar el usuario para solicitar un producto y quisiera que de arrepentirse el cliente y cerrar la ventana del navegador abra un popup invitándolo a comentar el motivo de su arrepentimiento.

Lo he visto funcionar en varios sitios pero mi memoria me ha fallado y no logro encontrar ninguno.

Probé con OnUnload pero también me lanzariá el popup si refrescan. Me interesa únicamente si cierran la ventana o si intentan ir a otro sitio.

Alguna idea?

Gracias por su ayuda..
__________________
- Christian Van Der Henst
Platzi
  #2 (permalink)  
Antiguo 28/04/2003, 03:17
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Hola Christian!

En este post se trató un tema parecido, aunque al que lo pedía no le funcionaba del todo bien (en parte porque Fr@Nc3$c0
(hola Francesc!!) usaba frames y en parte por magias de la informática, porque las pruebas que hice iban bien).

En resumidas cuentas pondrías un script en el unload del body para abrir la ventana:

Código PHP:
<body onunload="pepe=window.open('popup. html','','width=300,height=200,left=3000,top=100,s
creenX=3000,screenY=100')"


Que aparezca fuera del área de visión (para que el visitante no vea nada raro si lo que pasa es que refresca o similar). Y luego en la ventana que se abre (aquí está el Quiz de la cuestión) pones esto:

Código PHP:
<html>
<
head>
    <
title>Ventanita</title>
<
script>
    function 
comprobar(){
    if(
opener && !opener.closed && (opener.location.hostname=="www.tusitioweb.com"||opener.location.hostname=="tusitioweb.com")){self.close()}
    else{
self.moveTo(300,300);}
    }
    
</script>
</head>

<body onload="window.setTimeout('comprobar()',500)">
</body>
</html> 

Que lo que hace es esperar medio segundo y luego comprobar si la ventana madre existe, si sigue abierta y si sigue en el dominio de tu página (esto se podría cambiar para que comprobara si está exactamente en la página del formulario poniendo opener.location.href en vez de hostname). Si todo esto se cumple se cierra, si no se mueve al área visible.

Dime si te va!

__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 28/04/2003 a las 03:21
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




La zona horaria es GMT -6. Ahora son las 13:18.