Foros del Web » Programando para Internet » Javascript »

aviso emergente

Estas en el tema de aviso emergente en el foro de Javascript en Foros del Web. Necesito que al cargar una página salga un aviso emergente que diga que se ha de ser mayor de edad para acceder a la página. ...
  #1 (permalink)  
Antiguo 23/11/2005, 10:50
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
aviso emergente

Necesito que al cargar una página salga un aviso emergente que diga que se ha de ser mayor de edad para acceder a la página. Si se acepta ser mayor, se cierra el menú y continúa la carga y si se da a cancelar, se cierra esa página.

¿Cómo se puede hacer?

Mil gracias

Añadido:
"He encontrado este código que se ajusta mas a lo que busco, pero necesito que en lugar de ejecutarse cuando haces click, se ejecute al cargar la pagina

<a href=xxx onclick="return confirm('Esta página es sólo para adultos. Si eres mayor de edad pulsa aceptar.')">aa</a>

Cómo he de modificarlo?"

Última edición por wesse; 25/11/2005 a las 12:17
  #2 (permalink)  
Antiguo 23/11/2005, 11:08
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
Eso que necesitas es un "confirm", aqui tienes un ejemplo:

Código:
      <HTML>
      <HEAD>
      <SCRIPT>
      if ( confirm("Pulsa OK sólo si eres mayor de edad")) {
         alert("Bienvenido, adulto");
         location.href="paginaparaadultos.htm";
      } else {
        alert("No puedes entrar si eres menor" );
        top.close();
      }
      </SCRIPT>
      </HEAD>
      <BODY>
      </BODY>
      </HTML>

...por ejemplo...
  #3 (permalink)  
Antiguo 23/11/2005, 11:18
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
Justo lo que buscaba!

Lo único que no quiero que aparezca lo de bienvenido o lo de "has de se mayor de edad" (los alert, vamos)

He probado a quitarlos y el primero, sin problemas, pero si elimino el segundo, al dar ese botón me dice que se está intentando cerrar la ventana: aceptar o cancelar. Si das aceptar se cierra y si dar a cancelar se carga la pagina

Cómo se puede cerrar automaticamente sin el mensaje ese?
  #4 (permalink)  
Antiguo 23/11/2005, 12:29
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
no es que ocurra "al quitar el segundo alert", sino que ocurre en el segundo caso "en general", ya que primero ejecuta el alert y luego cierra la ventana.

Tienes dos opciones:

1) no poner la función que cierra la ventana sino usar el body de esa misma página para mostrar una info para "no-adultos". Quitamos lo que ocurre "else" y si da a cancelar, no hace "nada" y continúa con la carga de esta página. Sería algo así:

Código:
      <HTML>
      <HEAD>
      <SCRIPT>
      if ( confirm("Pulsa OK sólo si eres mayor de edad")) {
         location.href="paginaparaadultos.htm";
      }
      </SCRIPT>
      </HEAD>
      <BODY>
una página con florecitas que dice:
"lo siento macho, hasta que crezcas no puedes entrar"
      </BODY>
      </HTML>
2) Más o menos lo mismo de antes, sólo que añado otra función que hace que la página se cierre sin chistar al cargar el contenido (que puede ser "nada de nada") de esta página:


Código:
      <HTML>
      <HEAD>
      <SCRIPT>
      if ( confirm("Pulsa OK sólo si eres mayor de edad")) {
         location.href="paginaparaadultos.htm";
      }
      </SCRIPT>
      </HEAD>
<script>
function cerrar()
{
var ventana = window.self;
ventana.opener = window.self;
ventana.close();
}
</script>

      <BODY onload="cerrar()">
      </BODY>
      </HTML>

  #5 (permalink)  
Antiguo 24/11/2005, 11:35
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
No hay alguna otra forma mas simple de hacer que si da a cancelar se cierre directamente la ventana?
  #6 (permalink)  
Antiguo 24/11/2005, 11:40
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
Acabo de volver a probar el ejemplo primero y ahora no me funciona
<SCRIPT>
if ( confirm("Pulsa OK sólo si eres mayor de edad")) {
alert("Bienvenido, adulto");
location.href="pagina.htm";
} else {
alert("No puedes entrar si eres menor" );
top.close();
}
</SCRIPT>

si le doy a aceptar me dice bienvenido adulto, le doy de nuevo a aceptar y me vuelve a preguntar si soy adulto.. asi siempre.
  #7 (permalink)  
Antiguo 24/11/2005, 15:18
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
He encontrado este código que se ajusta mas a lo que busco, pero necesito que en lugar de ejecutarse cuando haces click, se ejecute al cargar la pagina

<a href=xxx onclick="return confirm('Esta página es sólo para adultos. Si eres mayor de edad pulsa aceptar.')">aa</a>

Cómo he de modificarlo?
  #8 (permalink)  
Antiguo 25/11/2005, 13:23
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
Para que se ejecute al cargar la página (onload) sólo tienes que ponerlo así:

<body onload="return ......... [las demás cosas del body, como color de fondo, etc.>
  #9 (permalink)  
Antiguo 25/11/2005, 13:57
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
Eso ya lo probé, pero no funciona porque aunque le des a aceptar o a cancelar, carga la pagina y deja pasar igualmente, por lo que no vale de nada.
  #10 (permalink)  
Antiguo 28/11/2005, 03:34
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
Entonces tu mejor opción es:

Código:
      <HTML>
      <HEAD>
      <SCRIPT>
      if ( confirm("Pulsa OK sólo si eres mayor de edad")) {
         location.href="paginaparaadultos.htm";
      }
      </SCRIPT>
      </HEAD>
<script>
function cerrar()
{
var ventana = window.self;
ventana.opener = window.self;
ventana.close();
}
</script>

      <BODY onload="cerrar()">
      </BODY>
      </HTML>
Pero no pongas nada en ese body, ya que el contenido restringido está en "paginaparaadultos.htm", que es otra diferente y para evitar anulen la ejecución de scripts, y lean en el código la página de destino, puedes poner la función en un *.js que esté en otra carpeta de la raiz del servidor. (si sabes cómo se hace, vuelve a preguntar y te lo explico/amos)
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 10:19.