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)