Ventana que abre una sola vez

Soy carlos de nuevo, sabes que la ventana de despedida funciona a full en pc que usan windows xp pero no en windows7, no se cual sea la razón...
Aparte tengo otro tema. Quiero que al entrar en inicio.html también se abra la ventana bienvenida.html o bienvenida.php, da lo mismo, pero que si vuelvo a entrar en inicio.html ya no se vuelva a abrir. Supongo que eliminando las cookies no funciona porque la idea es que si el mismo visitante vuelve a antrar al sitio a los 2 minutos, otra vez este disponible el proceso de abrir bienvenida.html, es decir la ventana bienvenida se debe abrir una vez por cada visitante y por cada sesión aun cuando la visita provenga de la misma persona y la misma pc

1 respuesta

Respuesta
1
A ver si te sirve esta solución: monta dos páginas. Una se llamará inicio.html, y lo que hará será levantar la página de bienvenida, y redireccionar a principal.html. En principal.html tendrás todos tus menús, links, etc, pero inicio.html, que será la que se abre por defecto al entrar a tu site, tendrá la siguiente pinta:

<html>


<head>


<script>

window.open("bienvenida.php", "Bienvenida", "left=100, top=100, height=300, width=400");
document.location.href="principal.html";
</script>


</head>


<body>


</body>


</html>
Ok, ya lo había pensado, pero el error estaría cuando alguien ingresa al sitio no desde el index.html, tipo alguien que puso una búsqueda "fotos de grupos de rock", y entró al sitio por la página fotos.html, entonces ese visitante no vería la bienvenida nunca.
Con el código anterior(el de ventana de despedida)lo he insertado solo en la página descargas.html como prueba. En algunas pc he comprobado que cada vez que estoy en descargas.html, al pasar a otra página, se abre la despedida.html, entonces, si incluyo el código en todas las páginas, (porque no se desde cual el vsistante cerrará el sitio) sería un caos, porque en cada cambio de página que haga el visitante dentro del sitio, le saldría la despedida; en otras pc la ventana despedida se abre solo al salir del sitio que sería lo ideal, pero en otra pc no se abre nunca, ni aún al salir del sitio.
El tema principal es poder incluir en la bienvenida o despedida, un contador que debe ir con extensión .php porque es uno con imágenes personalizadas y propio de mi hosting, y que me funcione realmente una vez por visita para que sean datos reales
Por eso se me había ocurrido lo de ventana que se abre una sola vez por visita, poniéndola en la página inicio (que se supone que es una de las páginas que si o si es visitada por todos, aun cuando el visitante entre a través de otra página) y si no la otra opción, que no la he mencionado antes porque ni siquiera sé si existe, sería abrir la despedida no en el evento onunload, sino en un evento tipo "al abandonar el sitio", que repito no tengo idea si existe... sería en mis palabras algo así
<script>
function despedida(){ 
window.open('despedida.html','DESPEDIDA', 'toolbar=no, height=600px, width=600px, left=100px, top=100px');
}  
</script>
<body al abandonar sitio="despedida();">
Tal vez visitar www.migdalrock.com te pueda aclarar el panorama, que me imagino ya te lo compliqué bastante, recordá que el código para la function despedida() esta incluido solo en la página descargas.html
con esto espero no molestar más, te agradezco de nuevo todos tus aportes, sin duda son muy valiosos para mi
Ya que usas php, para el control de bienvenida en cada página, tendrás que usar el manejo de sesión. Mete esto dentro de todos los
<head>
De tus páginas:
¿<?php
session_start();
if (!isset($_SESSION['sesionActiva'])) {
  $_SESSION['sesionActiva'] = 1;

  echo('
<script>lanzaVentanaBienvenida()</script>
')
}
?>


<script>

function lanzaVentanaBienvenida(){
window.open("bienvenida.php", "Bienvenida", "left=100, top=100, height=300, width=400");

}
</script>

Lo de la ventana de despedida es un poco más complicado, ya que en el evento onUnload() no se sabe el destino, por lo que no se puede distinguir. Un método que se me ocurre es que para los enlaces entre tus páginas, actualices una variable javascript que se llame "continuaEnElSite". En el onUnload, antes de sacar la página de despedida, comprueba esa variable, para saber si el usuario va a continuar en el site, o por el contrario, va a una página distinta. No te olvides de borrar la sesión en la página de despedida, con este código:
¿<?php
session_destroy();
?>
Ok, me gusta la idea, pero me quedo una duda, esta parte del código
<?php
session_destroy();
?>
¿va en la página bienvenida.php verdad? Y es para el caso de usar la opción de desplegar una bienvenida.
¿Con respecto al caso de usar la despedida no me queda claro(mejor dicho no sé) cual sería el código javascript a insertar? Y en que página iría, ¿en todas o solo en la despedida?. Si no lo ves viable omití esta respuesta y me quedo con la opción de bienvenida
bueno, cuando reciba tu respuesta ya tendré varias opciones para probar y ver cual me resulte mejor, muchas gracias !
El session_destroy() de PHP va el la página de despedida, para que la próxima vez que entre al site, no exista sesión y por tanto se abra la página de bienvenida. El control de la sesión para lanzar la página de bienvenida te lo puse en el correo anterior. Debes meterlo en todas las páginas de tu site (menos en la de despedida, claro), por si alguien entra en ellas antes que en el index.html.
cooolllll, buenísimo
Que bueno fue contar con tu ayuda, cuando se me de por hacer otra cosa medio complicada me acordaré tuyo ja ja. Muchas gracias, que Dios te bendiga

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas