anterior.gif (992 bytes)  siguiente.gif (1013 bytes)

Métodos Avanzados / OnLoad & OnUnLoad

OnLoad & OnUnLoad

Haciendo Algo Cuando una Página Sube o Baja
(Doing Something When a Page Loads or Unloads)


Cuando esta página suba, escucharás un sonido. El sonido que escuchas depende del tiempo:

  1. 0-15 minutos después de la hora: "Scotty, Beam me Up"
  2. 16-30 minutos después de la hora: "You Will Be Absorbed"
  3. 31-45 minutos after the hour: "Moo"
  4. 46-60 minutos after the hour: "I'll Be Back"

De la existencia de esa página, verás un mensaje de despedida. (Por lo menos esa fue la intensión cuando diseñamos la página nueva. Puede ser que cosas se comporten de esa manera dependiendo del navegador que estes usando. Hablaremos un poco mas sobre el uso de Javascript con diferentes navegadores.)

El código de Javascript responsable por el sonido que escuchas cuando la página nueva abre, y para el mensage de despedida cuando la página cierra, está (por supuesto!) localizado en el archivo para la página nueva. El texto de ese código es:

 <script language="JavaScript">  
 
 <!--Hide Script from non-supportive browser  
  function play _music(){  
    var my_time= new Date();  
    if ((my_time.getMinutes()>=0) & & (my_time.getMinutes()<=15))  
             window.location="scotty_beam_me_up.au";  
    else if ((my_time.getMinutes()>=16) && (my_time.getMinutes()<=30))   
             window.location="absorbed.au";  
    else if ((my_time.getMinutes()>=31) & & (my_time.getMinutes()<=45))  
             window.location="moo.au";  
    else if ((my_time.getMinutes()>=46) && (my_time.getMinutes()<=60))  
             window location="beback.au";  
  }  
 
  function bye_message() {  
    window.alert ("Glad you could visit. Please come back soon.");  
  }  
 
// Done Hiding-->   
 
</script>  
 
</HEAD>  
 
<BODY BGCOLOR="#ffffff" LINK="#0033CC"  
ALINK="#CC0033"> VLINK="#CC0033"  
onLoad="play_music()" onUnload="bye_message()"> 
 

Algunas cosas a notar sobre esta sección del código:

onLoad="play_music()" en la etiqueta del (cuerpo) <BODY> causa que (user-defined) play_music la función de tocar música ejecute cuando la página es abierta.

  1. onUnload="bye_message()" en la etiqueta del (cuerpo) <BODY> causa que la (user-defined) bye_message función de cerrar la página ejecute cuando la página es cerrada.
  2. Estas dos funciones están definidas dentro de la etiqueta de <script> que está incluída en la etiqueta del encabezado <HEAD> (el comienzo de la etiqueta de <HEAD> que no se muestra en el listado anterior.). Poniendo aquí las definiciones de las funciones asegura que las definiciones son subidas antes de que sean usadas en la página.
  3. El número actual de minutos pasados de la hora se consigue de my_time = new Date y my_time.getMinutes. Aquí getMinutes es el método de conseguir el objeto de la fecha my_time.
  4. window.location le es asignado diferentes valores, dependiendo del número actual de minutos pasados la hora.
  5. Poniendo window.location al nombre del archivo de audio causa que el sonido en el archivo se escuche.
  6. window.alert abre un encasillado de (alerta) "alert" para que aparezca el mensaje que atrae el argumento.

Windows y Sonidos

(Windows and Sounds)

Sonidos en un Nuevo Navegador de Windows(Sounds in New Browser Windows): Nota que tocando un sonido cuando una página nueva se abre no depende de la apertura de la página en la ventana nueva de un navegador nuevo. Aquí hemos abierto la página nueva en una ventana nueva por mera conveniencia, basicamente como manera de evitar la molestía que provocan algunos navegadores. Algunos navegadores ahora configuran para tocar sonidos con un receptáculo particular que insiste plugin en mostrar un panel de control que toma la ventana completa del navegador.

Inicialmente habíamos escrito este ejemplo para que el sonido tocara cuando ésta página (la que estás leyendo actualmente) subiera. Pero cuando descubrimos que si la página fuera vista con un navegador que usa un plugin como el que acabamos de describir para tocar sonidos, no habría manera de ver el texto en ésta página. Porque el sonido se escuchó cuando la página subió, el plugin inmediátamente reemplazó ésta página con la que está mostrando el panel de control del plugin. Si oprimieras el botón de Back del navegador para tratar de regresar a ésta página, el sonido volvería a escucharse cunado la página volviera a subir y nuevamente el plugin te regresaría a la página con el panel de control. (Esto es una potencial complicación que debes de mantener en mente si algún día deseas dejar el sonido play when one of your own pages loads.)

Ya que deseábamos que pudieras leer el texto de ésta página sin tener que reconfigurar cómo es que tu navegador toca sonidos, movimos el ejemplo con sonidos "onLoad" a otra página y arreglamos para tener otra ventana abierta. De esa manera, el texto en esta página aún debe de estar disponible para que lo puedas leer irremediablemente de lo que haga tu plugin de sonido.

Escuchando Sonidoscuando una Página Cierra (Playing a Sound When a Page Unloads): También puedes usar onUnload y window.location para tocar unsonido cuando una ventana baja una página. Aunque ésto a veces puede traer resultados no deseados.

A veces, con algunos navegadores, una página con un mandato de onUnload puede tocar un sonido cuando salgas de la página, pero puede que fracases al transferir correctamente a otra página (si la transferencia tenía que suceder oprimiendo un enlace o no o por medio de que escribieras un URL nuevo dentro del encasillado de Address/Location de la ventana). En este caso, probablemente te quedarás con una ventana vacía después de que el sonido termine. Oprimiendo el botón de subir de la ventana debe transferirte al lugar nuevo.

Si una página tiene un mandato de onUnload de tocar un sonido y oprimes el botón de cierre de la ventana antes de que escuches el sonido, la ventana simplemente cerrará sin que escuches el sonido. Pero con algunos navegadores, oprimiendo el botón de cierre de la ventana en tales casos pudiera completamente tumbar el navegador!

Abiendo Ventanas Nuevas en el Navegador (Opening New Browser Windows): Finalmente, si aún no sabes cómo usar un enlace para abrir una página en una ventana nueva del navegador, no tengas reservas. Lo estaremos discutiendo pronto.

siguiente.gif (1013 bytes)