Creación de paginas
web con html |
 |
HTML es el lenguaje utilizado como base para crear las páginas
web. Con este manual puedes aprender a utilizarlo con toda su
potencia.
1.- Frames en html
Las primeras cosas que debes saber sobre HTML: historia, objetivos y demás conocimientos
donde sentar las bases del manual.
2.- Sonidos en html
Descripción de la sintaxis con la que se trabaja en el lenguaje HTML.
2.- Insertar Video en html
Descripción de la sintaxis EMBED para insertar un video.
Frames en HTML
Una de las más modernas características de HTML son los frames, que se añadieron,
tanto en Netscape Navigator como en Internet Explorer, a partir de sus versiónes
2.0. Los frames -que significan en castellano marcos- son una manera de partir
la página en distintos espacios independientes los unos de los otros, de modo
que en cada espacio se coloca una página distinta que se codifica en un fichero
HTML distinto.
Al principio se crearon como etiquetas propietarias del navegador Netscape y
rápidamente la potencia del recurso hizo que el uso de frames se extendiera
por toda la web. Poco tardaría Internet Explorer en incluirlos, para que no
se le escapase una novedad tan popular de su competidor. Finalmente, como respuesta
a la popularidad entre los desarrolladores de los frames, el estándar HTML 4.0
incluyó estas etiquetas dentro de las permitidas.
Los frames, como decíamos, nos permiten partir la ventana del navegador en diferentes
áreas. Cada una de estas áreas son independientes y han de ser codificadas con
archivos HTML también independientes. Como resultado, cada frame o marco contiene
las propiedades específicas que le indiquemos en el código HTML a presentar
en ese espacio. Así mismo, y dado que cada marco es independiente, tendrán sus
propias barras de desplazamiento, horizontales y verticales, por separado.
Existen en la web muchas páginas que contienen frames y seguro que todos hemos
tenido la ocasión de conocer algunas. Se suelen utilizar para colocar en una
parte de la ventana una barra de navegación, que generalmente se encuentra fija
y permite el acceso a cualquier zona de la página web. Una de las principales
ventajas de la programación con frames viene derivada de la independencia de
los distintos frames, pues podemos navegar por los contenidos de nuestro web
con la barra de navegación siempre visible, y sin que se tenga que recargar
en cada una de las páginas que vamos visitando.
Un ejemplo de las áreas que se pueden construir en una construcción de frames
se puede ver en las imágenes siguientes.
 |
 |
Para el que no haya tenido oportunidad de
conocer los frames y su funcionamiento, ofrecemos un enlace a una página
cualquiera de Internet que los utiliza.
Frames - Explicación básica
Las páginas web que
están hechas con frames se componen de una declaración de los marcos y tantas
páginas en formato HTML corriente como distintas divisiones hemos definido. La
declaración o definición de frames es la única página que realmente debemos
aprender, puesto que las páginas que se van a visualizar en cada uno de los
cuadros son ficheros HTML de los que venimos aprendiendo anteriormente en este
manual.
Dicha definición está compuesta por etiquetas <FRAMESET> y
<FRAME>, con las que se indicamos la disposición de todos los cuadros. La
etiqueta <FRAMESET> indica las particiones de la ventana del navegador y
la etiqueta <FRAME> indica cada uno de los cuadros donde colocaremos una
página independiente.
Las particiones que se pueden hacer con un
<FRAMESET> son en filas o columnas. Por ejemplo, podríamos indicar que
deseamos hacer una división de la página en dos filas, o dos columnas, tres
filas, etc. Para indicar tanto la forma de partir la ventana -en filas o
columnas- como el número de particiones que pretendemos hacer, se ha de utilizar
el atributo COLS o ROWS. El primero sirve para indicar una partición en columnas
y el segundo para una partición en filas.
| Nota: Es importante indicar que no se puede hacer
una partición en filas y columnas a la vez, sino que debemos escoger en
partir la ventana en una de las dos disposiciones. Más adelante
indicaremos cómo partir la ventana tanto en filas como en columnas, que se
hace con la anidación de frames. |
En el atributo
COLS o ROWS -sólo podemos elegir uno de los dos- colocamos entre comillas el
número de particiones que deseamos realizar, indicando de paso el tamaño que va
a asignarse a cada una. Un valor típico de estos atributos sería el siguiente:
cols="20%,80%"
Indica que se deben colocar dos columnas, la
de la izquierda tendría un 20% del espacio total de la ventana y la de la
derecha un 80%.
rows="15%,60%,25%"
Así indicamos que deseamos
tres filas, la de arriba con un 15% del espacio total, la del medio con un
espacio correspondiente al 60% del total y la de abajo con un 25%. En total
suman el 100% del espacio de la ventana.
Además del porcentaje para
indicar el espacio de cada una de las casillas, también podemos indicarlo en
pixeles. De esta manera.
cols="200,600"
Para indicar que la
columna de la izquierda debe tener 200 pixels de ancho y la de la derecha 600.
Esto está bien si nuestra ventana tiene 800 pixels de ancho, pero esto no tiene
porque ser así en todos los monitores de los usuarios, por lo que este modo de
expresar los marcos es importante que se indique de la siguiente manera.
cols="200,*"
Así indicamos que la primera columna ha de medir
200 pixels y que el resto del espacio disponible -que será mayor o menor
dependiendo de la definición de la pantalla del usuario- se le asignará a
segunda columna.
En la práctica podemos mezclar todos estos métodos para
definir los marcos de la manera que deseemos, con pocentaje, con pixels o con el
comodín (*). No importa cómo se definan, la única recomendación es que uno de
los valores que indiquemos sea un asterisco, para que el área correspondiente a
dicho asterisco o comodín sea más o menos grande dependiendo del espacio que
tenga la ventana de nuestro navegador. Otros métodos de definir filas y
columnas, atendiendo a este consejo, serían los siguientes:
rows="100,*,12%"
Definimos tres filas, la primera con 100
pixels de ancho, la segunda con el espacio que sobre de las otras dos, y la
tercera con un 12% del espacio total.
cols="10%,50%,120,*"
Estamos indicando cuatro columnas. La primera del 10% del espacio de la
ventana, la segunda con la mitad justa de la ventana, la tercera con un espacio
de 120 pixels y la última con la cantidad de espacio que sobre al asignar
espacio a las demás particiones.
Una vez hemos indicado el número de
filas o columnas y el espacio reservado a cada una con la etiqueta
<FRAMESET>, debemos especificar con la etiqueta <FRAME> la
procedencia de cada uno de los frames en los que hemos partido la ventana.
Para ello, disponemos del atributo SRC, que se ha de definir para cada
una de las filas o columnas. De esta manera.
<FRAME
src="marco1.html">
Así queda indicado que el frame que estamos
definiendo debe mostrar la página marco1.html en su interior.
Frames - Creación de una estructura
simple
Para ilustrar todo lo que venimos explicando podemos
ver el ejemplo sobre cómo se crearía la definición de frames de la imagen que
podemos ver a continuación.

<html>
<head>
<title>Definición de Frames</title>
</head>
<frameset rows="15%,*,75">
<frame
src="pagina1.html">
<frame src="pagina2.html">
<frame src="pagina3.html">
</frameset>
</html>
Además tenemos algunas consideraciones que hacer
para terminar de comprender este ejemplo:
- El título de la definición de frames es el que hereda toda la página web,
por ello, no es buena idea titular como "definición de frames" por ejemplo, ya
que entonces toda nuestra página se titularía así y seguramente no sea muy
descriptivo. Si estuviésemos haciendo una página para la carnicería pepe sería
mejor titular a la definición de frames algo como "Carnicería Pepe, las
mejores carnes en Madrid".
- La página que define los frames no tiene body. HTML puede arrojarnos un
error si lo incluimos.
- Las páginas "pagina1.html", "pagina2.html"y "pagina3.html" han de
escribirse en archivos independientes con el nombre indicado. En este ejemplo,
dichas páginas deberían encontrarse en el mismo directorio que la declaración
de frames. Si especificamos una ruta para acceder al archivo podemos colocarlo
en el directorio que deseemos.
- Los colores de cada uno de los frames los hemos colocado con el atributo
bgcolor colocado en la etiqueta <BODY> de cada una de las páginas que se
muestran en los marcos.
Frames - Una página en cada marco
Las páginas que
mostraremos en cada marco son documentos HTML iguales a los que venimos creando
anteriormente. Podemos colocar cualquier elemento HTML de los estudiados en este
manual, como etiquetas de párrafo, imágenes, colores de fondo, etc.
Cada
documento, como ya hemos indicado, se escribe por separado en su propio archivo
HTML. Para el ejemplo del capítulo anterior podemos definir los archivos HTML de
la siguiente manera.
pagina1.html
Es la página que contiene
el titular de la web. Simplemente se trata de una etiqueta <H1> de
titular. La página tiene su propio título, con la etiqueta <TITLE>, que no
se podrá visualizar por ningún sitio a no ser que se muestre esta página sin los
frames, ya que las páginas dentro de los marcos heredan el título de la
definición de los frames.
<html>
<head>
<title>Titulo Carnicería Pepe</title>
</head>
<body bgcolor="#DECC09">
<h1
align=center>Carnicería PEPE</h1>
</body>
</html>
pagina2.html
Es la página que se presentará en el área
principal de la definición de frames, es decir, la página que tiene más espacio
para visualizarse y donde pondremos los contenidos de la web. En este caso
muestra un mensaje de bienvenida a la web, que hará las veces de portada.
<html>
<head>
<title>Portada de Carnicería PEPE</title>
</head>
<body bgcolor="#CF391C" text="#ffffff">
<h1
align="center">Bienvenidos a nuestra web</h1>
<br>
<br>
La carnicería PEPE, con más de 100 años de experiencia, es la
mejor fuente de carnes de vacuno y cerdo de la comunidad.
<br>
<br>
Tanto en invierno como en verano puede encontrar nuestras
ofertas de temporada de primera calidad.
</body>
</html>
pagina3.html
En esta página se mostrará la barra de
navegación por los contenidos del sitio. Contiene enlaces que deberían
actualizar el contenido del área principal de la declaración de frames, para
mostrar los distintos contenidos del sitio, por ejemplo, la portada, los
productos, la página de contacto, etc.
<html>
<head>
<title>Barra de navegación de carnicería
PEPE</title>
</head>
<body bgcolor="#AC760E"
link="ffffcc" vlink="ffffcc">
<div align="center">
<b>
<a href="pagina2.html">Portada</a> |
<a
href="productos.html">Productos</a> |
<a
href="contacto.html">Contacto</a>
</b>
</div>
</body>
</html>
Frames - Dirigir los enlaces
La única particularidad
destacable en el ejemplo del capítulo anterior, y en el manejo de frames en
general, se trata de que cada uno de los enlaces que colocamos en las páginas
actualizan el frame donde está colocado este enlace. Por ejemplo, si tenemos
enlaces en la parte inferior de la ventana, en el espacio correspondiente al
tercer marco, actualizarán los contenidos del tercer frame, que es donde están
situados los enlaces.
Lo lógico es que al pulsar sobre un enlace de la
barra de navegación actualicemos el frame principal, que es donde habíamos
planeado colocar los contenidos, en lugar del frame donde colocamos la barra de
navegación, que debería mantenerse fija. Para conseguir este efecto debemos
hacer un par de cosas:
- Darle un nombre al frame que deseamos actualizar
Dicho nombre se
indica en la etiqueta <FRAME> de la definición de frames. Para ello
utilizamos el atributo name, igualado al nombre que le queremos dar a dicho
marco.
- Dirigir los enlaces hacia ese frame
Para ello debemos colocar en
el atributo target de los enlaces -etiqueta <A>- el nombre del frame que
deseamos actualizar al pulsar el enlace.
Después de darle un nombre al
frame principal, nuestra declaración de frames quedaría de la siguiente manera.
<frameset rows="15%,*,75">
<frame
src="pagina1.html">
<frame src="pagina2.html"
name="principal">
<frame src="pagina3.html">
</frameset>
Además, deberíamos colocar el atributo target a
los enlaces, tal como sigue.
<a href="pagina2.html"
target="principal">Portada</a> |
<a href="productos.html"
target="principal">Productos</a> |
<a href="contacto.html"
target="principal">Contacto</a>
Valores para el atributo
target
Como hemos visto, con el atributo target de la etiqueta <A> podemos
indicar el nombre del frame que deseamos que actualice ese enlace. Sin embargo,
no es este el único valor que podemos aplicarle al atributo. Tenemos algunos
valores adicionales que podemos asignar a cualquier enlace en general.
_blank
Para hacer que ese enlace se abra en una ventana a parte.
Nuestros ejemplos en este manual se suelen abrir en una ventana a parte,
colocando este valor en el target de los enlaces que llevan a los ejemplos.
_self
Se actualiza el frame donde está situado el enlace. Es el
valor por defecto.
_parent
El enlace se actualiza sobre su padre o sobre la ventana
que estamos trabajando, si es que no hay un padre.
_top
La página se carga a pantalla completa, es decir, eliminando
todos los frames que pudiera haber. Este atributo es muy importante porque si
colocamos en nuestra página con frames un enlace a una página externa, se
abriría en uno de los frames y se mantendrían visibles otros frames de la
página, haciendo un efecto que suele ser poco agradable, porque parece que están
evitando que nos escapemos.
La sintaxis de uno de estos valores de atributos colocados en un enlace sería
la siguiente.
<A href="http://www.yahoo.com" target="_top">Acceder a
yahoo.com</A>
Frames - Anidar
frames
Para crear estructuras de marcos en las que se mezclen
las filas y las columnas debemos anidar etiquetas <FRAMESET>. Empezando
por la partición de frames más general, debemos colocar dentro las particiones
de frames más pequeñas. La manera de indicar esto se puede ver fácilmente con un
ejemplo.
Los pasos para definir la anidación se pueden encontrar a la
derecha.
Los distintos frames vienen numerados con el orden
en el que se
escriben en el código.
En la imagen se puede ver el resultado
final acompañada de la representación sobre la manera de definirlos. En primer
lugar definimos una estructura de frames en dos columnas y dentro de la primera
columna colocamos otra parcición de frames en dos filas. El código necesario es
el siguiente.
<frameset cols="200,*">
<frameset rows="170,*">
<frame
src="pagina1.html">
<frame
src="pagina2.html">
</frameset>
<frame src="pagina3.html">
</frameset>
| Nota: hemos colocado un margen en cada una de las
líneas de esta definición de frames para conseguir un código más
entendible visualmente. Estos márgenes no son en absoluto necesarios,
simplemente nos sirven para ver en qué nivel de anidación nos
encontramos. |
El ejemplo anterior se puede complicar
un poco más si incluimos más particiones. Vamos a ver algo un poco más
complicado para practicar más con las anidaciones de frames.
Los pasos para definir la anidación se pueden encontrar a la
derecha.
Los distintos frames vienen numerados con el orden
en el que se
escriben en el código.
En la imagen se observa que el primer
frameset a definir se compone de dos filas. Posteriormente, dentro de la segunda
fila del primer frameset, tenemos otra partición en dos columnas, dentro de las
que colocamos un tercer nivel de frameset con una definción en filas en los dos
casos. El código se puede ver a continuación.
<frameset
rows="60,*">
<frame src="pagina1.html">
<frameset cols="200,*">
<frameset rows="*,150">
<frame
src="pagina2.html">
<frame
src="pagina3.html">
</frameset>
<frameset
rows="*,60">
<frame src="pagina4.html">
<frame
src="pagina5.html">
</frameset>
</frameset>
</frameset>
Hasta aquí hemos visto la parte más básica de la creación de frames.
En los siguientes capítulos podremos aprender a configurar los marcos para
variar su apariencia y, entre otras cosas, eliminar las barras que separan cada
uno de los distintos frames.
Frames
- Atributos avanzados
Aparte de la creación de los marcos
propiamente dicha, existen muchos atributos con los que configurar su
apariencia. Para ello, tanto la etiqueta <frameset> como <frame>
admiten diversos atributos que permiten especificar la forma de elementos como
los bordes de los frames, el margen, la existencia o no de barras de
desplazamiento, etc.
Atributos para la etiqueta <frameset>
Ya hemos conocido el atributo cols y rows, que sirven para indicar si la
distribución en marcos se hará horizontalmente o verticalmente. Sólo se puede
utilizar uno de ellos y se iguala a las dimensiones de cada uno de las
divisiones, separadas por comas.
border="número de pixels"
Permite especificar de manera global para todo el frameset el número de
pixels que ha de tener el borde de los frames.
bordercolor="#rrggbb"
Con este atributo podemos modificar el
color del borde de los frames, también de manera global a todo el frameset.
frameborder="yes|no|0"
Sirve para mostrar o no el borde del
frame. Sus posibles valores son "yes" (para que se vean los bordes) y "no" o "0"
(para que no se vean). En la práctica elimina el borde, pero permanece una línea
de separación de los frames.
framespacing="número de pixels"
Para determinar la anchura de la línea de separación de los frames. Se puede
utilizar en Internet Explorer y junto con el atributo frameborder="0" sirve para
eliminar los bordes de los marcos.
Atributos para la etiqueta
<frame>
Para esta etiqueta hemos señalado en capítulos
anteriores los atributos src, que sirve para indicar el archivo que contiene el
marco y name, para darle un nombre al marco y luego dirigir los enlaces hacia
el. Veamos ahora otros atributos disponibles.
marginwidth="número de
pixels"
Define el número de pixels que tiene el margen del frame donde
se indica. Este margen se aplica a la página que pretendemos ver en ese marco,
de modo que si colocamos 0, los contenidos del página en ese marco estarán
pegados por completo al borde del margen y si indicamos un valor de 10, los
contenidos de la página estarían separados del borde 10 pixels.
marginheight="número de pixels"
Lo mismo que el anterior
atributo, pero para el margen vertical.
scrolling="yes|no|auto"
Sirve para indicar si queremos que haya barras de desplazamiento en los
distintos marcos. Si indicamos "yes" siempre saldrán las barras, si indicamos
"no" no saldrán nunca y si colocamos "auto" saldrán sólo si son necesarias. Auto
es el valor por defecto.
| Consejo: hay que tener cuidado si eliminamos los
bordes de los frames, puesto que la página web puede tener dimensiones
distintas dependiendo de la definición de pantalla del visitante. Si el
espacio de la ventana se ve reducido, podría verse reducido el espacio
para el frame y puede que no quepan los elementos que antes si que cabían
y si hemos eliminado las barras de desplazamiento puede que el visitante
no pueda ver todo el contenido del marco.
Este mismo consejo se puede aplicar al redimensionamiento de frames,
que veremos en el siguiente atributo. Si hacemos que los marcos no sean
redimensionables probablemente tengamos una declaración de frames
demasiado rígida, que puede verse mal en algún tipo de pantalla.
|
noresize
Este atributo no tiene
valores, simplemente se pone o no se pone. En caso de que esté presente indica
que el frame no se puede redimensionar. Como hemos podido ver, al colocar el
ratón sobre el borde de los marcos sale un cursor que nos señala que podemos
mover dicho borde y redimensionar así los frames. Por defecto, si no colocamos
nada, los marcos si se pueden redimensionar.
frameborder="yes|no|0"
Este atributo permite controlar la
aparición de los bordes de los frames. Con este atributo igualado a "0" o "no"
los bordes se eliminan. Sin embargo, quedan los feos márgenes en el borde. Por
lo que hemos podido comprobar funciona mejor en Netscape que en Internet
Explorer. De todos modos, tenemos una nota un poco más adelante para explicar
los frames sin bordes.
| Nota: los atributos de frames no funcionan
siempre bien en todos los navegadores. Es recomendable que hagamos un test
sobre lo que estamos diseñando en varios navegadores para comprobar que
nuestros frames se ven bien en todas las plataformas.
|
bordercolor="#rrggbb"
Permite
especicicar el color del borde del marco.
Ventajas e inconvenientes del
uso de frames
El diseño con frames es un asunto bastante
controvertido, ya que distintos diseñadores tendrán unas u otras opiniones.
En mi caso, pienso que es preferible no utilizarlos, aunque eso depende del
tipo de sitio web que estés construyendo, ya que en algunos casos sí que sería
muy adecuado su uso.
Voy a colocar unas ventajas e inconvenientes del uso de marcos (frames).
Siempre es a mi entender, otros pueden tener otras opiniones.
Ventajas de usar frames
- La navegación de la página será más rápida. Aunque la primera carga de la
página sería igual, en sucesivas impresiones de páginas ya tendremos algunos
marcos guardados , que no tendrían que volverse a descargar.
- Crear páginas del sitio sería más rápido. Como no tenemos que incluir
partes de código como la barra de navegación, título, etc. crear nuevas
páginas sería un proceso mucho más rápido.
- Partes de la página (como la barra de navegación) se mantienen fijas y eso
puede ser bueno, para que el usuario no las pierda nunca de vista.
- Estas mismas partes visibles constantemente, si contienen enlaces, pueden
servir muy bien para mejorar la navegación por el sitio.
- Mantienen una identidad del sitio donde se navega, pues los elementos
fijos conservan la imagen siempre visible.
Inconvenientes de usar
frames
- Quitan espacio en la pantalla. El espacio ocupado por los frames fijos se
pierde a la hora de hacer páginas nuevas, porque ya está utilizado. En
definiciones de pantalla pequeña o dispositivos como Palms, este problema se
hace más patente.
- Fuerzan al visitante a entrar por la declaración de frames. Si no lo hacen
así, sólo se vería una página interior sin los recudros. Estos recuadros
podrían ser insuficientes para una buena navegación por los contenidos y
podrían no conservar una buena imagen corporativa.
- La promoción de la página sería, en principio, más limitada. Esto es
debido a que sólo se debería promocionar la portada, pues si se promocionan
páginas interiores, podría darse en caso de que los visitantes entrasen por
ellas en lugar de por la portada, creandose el problema descrito en el punto
anterior.
- A mucha gente les disgustan pues no se sienten libres en la navegación,
pues entienden que esas partes fijas están limitando su movilidad por la web.
Este efecto se hace más patente si la página con frames tiene enlaces a otras
páginas web fuera del sitio y, al pulsar un enlace, se muestra la página nueva
con los marcos de la página que tiene frames.
- Algunos navegadores no los soportan. Esto no es muy habitual, pero si
estamos haciendo una página que queramos que sea totalmente accesible
deberíamos considerarlo importante.
- Los bookmarks o favoritos no funcionan correctamente en muchos casos. Si
queremos incluir un favorito a una página de un frame que no sea la portada
podemos encontrar problemas.
- Puede que el botón de atrás del navegador no se comporte como deseamos.
- Si quieres actualizar más de un frame con la pulsación de un enlace
deberás utilizar Javascript. Además los scripts se pueden complicar bastante
cuando se tienen que comunicar varios frames entre si.
Conclusión
El trabajo con frames puede ser más bueno o más malo dependiendo de las
características de la página a desarrollar, es tu tarea saber si en tu caso
debes utilizarlos o no.
Regresar
arriba
Sonido en
HTML
Incluir sonidos en la web.
Una vez elegidos nuestros ficheros de
sonido, es hora de incluirlos en nuestra página web. Lógicamente, para que un
fichero de audio pueda ser reproducido por un navegador es necesario que su
máquina tenga incluida una tarjeta de sonido y un par de altavoces.
Existen diversas formas de incluir un fichero de audio en una página,
formas que dependen del tipo de fichero y del navegador usado, y podemos usar
diferentes etiquetas para cada una de ellas.
BGSOUND
La
etiqueta bgsound incorpora sonidos de fondo en una página web, sonidos que se
ejecutan automáticamente al cargarse la página. Es una etiqueta propietaria de
Microsoft, por lo que sólo es interpretada por Internet Explorer, admitiendo los
formatos de audio MID y WAV, aunque generalmente también acepta AU y MP3, en
versiones actuales del nevagador o mediante plugins de uso general.
Su
sintaxis general, con sus atributos más importantes, es del tipo:
<bgsound src="ruta_fichero" loop="l" balance="b"
volume="v"></bgsound>
Donde:
- src="ruta_fichero" fija la ruta en la que se encuentra el fichero
de audio a reproducir. La ruta puede ser relativa a nuestro sistema de
carpetas local, absoluta respecto el sistema de carpetas del servidor web o
una URL completa que localice el fichero en Internet.
- loop="l" determina el número de veces (l) que se debe ejecutar el
fichero de audio. Si le damos el valor infinite, el fichero se reproducirá
indefinidamente.
- balance="b" determina el balance del sonido entre los dos altavoces
del equipo, es decir, la potencia o intensidad con que se oirá en cada uno de
ellos (derecho e izquierdo). Sus valores pueden estar entre -10,000 y +10,000,
correspondiendo el valor 0 a un balance equilibrado entre los dos altavoces.
- volume="v" fija el volumen al que se oirá el sonido, y sus valores
pueden variar entre -10,000 (mínimo) y 0 (máximo). No es soportado por los
equipos MAC.
Ejemplo:
<bgsound
src="../sonidos/wav.wav" balance=0 volume=0></bgsound>
(sólo Internet Explorer).
La etiqueta bgsound admite
muchas más propiedades (disabled, delay, id, class, controls, etc.). Asímismo,
esta etiqueta es accesible en Internet Explorer mediante código JavaScript,
pudiendo modificar en tiempo real sus propiedades balance, loop, src, y volume,
aunque ésta última sólo es accesible en plataformas PC. Para una información
completa sobre todas las propiedades y funcionalidades de este etiqueta podéis
visitar la página correspondiente de Microsoft:
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/bgsound.asp
EMBED
Nestcape Navigator implementó la etiqueta embed
para incorporar ficheros de audio. Es ésta una etiqueta de caracter general, que
se usa para la inclusión en las páginas web de todos aquellos archivos ajenos al
navegador y que necesitan por lo tanto la ejecución de algún plugin para su
interpretación.
Paradójicamente, Internet Explorer asumió después el uso
de esta etiqueta para la inclusión de ficheros de audio, para llegar a
interpretarla mejor y ampliarla con más atributos y propiedades, de tal forma
que la ejecución de sonidos con embed es actualmente más cómoda con este
navegador, al incorporar la suite de Microsoft sus propios plugins para la
interpretación de los diferentes formatos de audio. En cambio, si usamos
Netscape Navigator nos encontraremos en muchos casos con un fallo en la
reproducción o con un engorroso mensaje de necesidad de algún plugin especial
(sobre todo en las versiones 6x), lo que nos obligará a visitar la página de
Netscape para su descarga e instalación, que muchas veces no será efectiva.
Sea como sea, hay que indicar que esta etiqueta nos va a incluir en la
página web un objeto especial, una especie de consola de mando, denominada
Crescendo, que consta de tres botones, similares al de cualquier reproductor de
audio: un botón Play, para comenzar la reproducción (si no está establecida a
automática), un botón Pause, para detenerla momentáneamente y un botón Stop,
para detenerla definitivamente (puesta a cero). Esta consola es diferente según
el navegador usado; en el caso de Internet Explorer se muestra la típica consola
de Windows Media, cuyo tamaño podemos configurar, mientras que en Netscape se
muestra una consola propia, de tamaño fijo definido.
La sintaxis general
de la etiqueta embed es del tipo:
<embed
atributo1="valor1" atributo2="valor2"...atributoN="valorN"></embed>
Y en el caso que nos ocupa, de la inclusión de ficheros de audio,
los atributos podemos dividirlos en dos tipos:
1. Atributos
referentes al sonido:
- src="ruta_fichero", que fija la ruta en la que se encuentra el
fichero de audio a reproducir. La ruta puede ser relativa a nuestro sistema de
carpetas local, absoluta respecto el sistema de carpetas del servidor web o
una URL completa que localice le fichero en Internet.
- loop="l/true/false", que determina el número de veces que se debe
ejecutar el fichero de audio. Los valores admitidos son l (número entero de
veces), true (infinitas veces) y false (sólo una vez). Sólo es reconocida por
Netscape Navigator.
- playcount="n", que define el número de veces (n) que se debe
ejecutar en fichero de audio en el caso de Internet Explorer.
- type="tipo_fichero", atributo importante, que declara el tipo de
fichero de audio que estamos usando, con lo que el navegador web puede
ejecutar el programa o plugin adecuado para la reproducción del fichero. Puede
ser audio/midi, audio/wav, etc.
- autostart="true/false", que determina si el fichero de audio debe
empezar a reproducirse por sí sólo al cargarse la página o si por el contrario
será preciso la actuación del usuario (o de código de script) para que
comience la audición.
- pluginspage="URL", que establece, en caso de ser necesario un
plugin especial para reproducir el fichero, la página web donde se puede
descragar el mismo. Sólo se activa en el caso de que el navegador no sea capaz
de reproducir el fichero por sí mismo, y es soportada tan sólo por Netscape
Navigator.
- name="nombre", que asigna un nombre identificador (debe ser único
en la página) a una etiqueta embed determinada, con objeto de ser accedida
luego por lenguajes de script.
- volume="v", que determina el volumen de reproducción del sonido, y
que puede variar entre 0 y 100. Es sólo soportada por Netscape Navigator, que
en la consola muestra el valor establecido en su indicador de volumen, siendo
su valor por defecto 50. En en caso de Internet Explorer, el valor del volumen
por defecto es 50 en plataformas PC, y 75 en MAC, siendo necesario actuar
sobre el control de volumen de la consola para modificarlo.
2.
Atributos referentes a la consola:
- hidden="true/false", que establece si la consola va a ser visible
(false) o no (true). Es éste un aspecto polémico, ya que si ocultamos la
consola obligamos al usuario a oir nuestro fichero, sin posibilidad de
detenerlo ni de modificar el volumen, y si la mostramos estaremos incrustando
en la pantalla un objeto que muchas veces nos romperá el esquema de diseño de
nuestra página. Queda determinar su uso en cada caso concreto.
- width="w", que determina el ancho visible de la consola, en pixels.
height="h", que determina el alto visible de la consola, en pixels. Estos
atributos son también muy importantes, caso de que hayamos establecido hidden=
"false", ya que de su valor va a depender la correcta visulazación de la
consola. En el caso de Internet Explorer, que muestra un logo de Windows Media
sobre los controles, el tamaño mínimo aceptable debe ser de 140x100 pixels, ya
que si no la consola saldrá deformada en exceso o recortada. Y en el caso de
Netscape Navigator, deberemos asignar unos valores de 145x60 pixels, que es lo
que ocupa la consola; si ponemos un tamaño menor, la consola será recortada,
perdiendo funcionalidades, y si asignamos un tamaño mayor, aparecerán espacios
grises alrededor de la consola, afeando el aspecto de la página. Si no
especificamos estos atributos y tampoco hidden, nos aparecerán en la página
tan sólo los mandos de la consola, sin logotipos añadidos (Internet Explorer)
o la consola recortada (Netscape Navigator).
- align="top/bottom/center/baseline/left/right/
texttop/middle/absmiddle/absbotom",
análogo al de la etiqueta IMG, define la alineación horizontal o vertical de
la consola respecto de los elementos de la página.
- hspace="hs", que establece la separación horizontal, vspace="vs",
que establece la separación vertical, en pixels, entre la consola y los
elementos de la página que la redean. Análoga a sus equivelentes de la
etiqueta IMG.
Estos son los atributos principales, aunque podemos
encontrar referencias de otros admitidos, aunque no suelen ser operativos en la
realidad, ya que no suelen funcionar de forma correcta o son específicos de
Nestcape (como toda la serie de atributos que configuran los controles de la
consola.
Ejemplo sin consola:
<embed src="../sonidos/mid.mid" hidden="true" type="audio/midi"
autostart="true"></embed>
Ejemplo con consola:
<embed
src="../sonidos/mid.mid" hidden="false" type="audio/midi" autostart="false"
width="150" height="100"></embed>
Sonido en HTML
II
La etiqueta OBJECT.
Con objeto de normalizar la inclusión de
ficheros no nativos en los navegadores web se decidió sustituir las diferentes
etiquetas que realizaban este papel (APPLET, BGSOUND, EMBED, etc.), y que no
pertenecían a los estándares web, por una etiqueta general, que fuera capaz de
incrustar en el navegador todo tipo de ficheros. La etiqueta elegida en el
estándar HTML 4.0 fué OBJECT, a la que se dotó de suficientes atributos y
flexibilidad para poder realizar correctamente su trabajo. Debido a esto, la
propuesta ha sido usar la etiqueta object también para incluir ficheros de audio
de todo tipo en las páginas web.
Ahora bien, la aceptación e
implementación que la misma a tenido varía según el navegador en particular, así
como en función del objeto a incrustar. De este forma, Internet Explorer a
realizado su propia implementación de la etiqueta object, incluyendo en ella
referencias a filtros y componentes ActiveX específicos para los ficheros de
audio. Por su lado, los navegadores Netscape no soportan correctamente este
etiqueta para ficheros de este tipo.
Restringiéndonos a Internet
Explorer, la polémica sigue, ya que en diferentes manuales nos encontraremos
diferentes formas de incrustar sonidos mediante object, unas que funcionan bien,
y otras que no. ¿Porqué sucede esto?. Yo creo que porque Microsoft ha ido usando
la etiqueta object para implementar todo un grán conjunto de componentes
propios, que además han ido adaptándose a las diferentes versiones de Internet
Explorer.
Como regla general, válida no sólo para incrustar ficheros de
sonido, sino también para otros tipos, la etiqueta object va a definir un objeto
o componente externo encargado de la reproducción del fichero, que en el caso de
Internet Explorer suele ser algún tipo de control ActiveX. Mediante object se
instancia el objeto, se declara su URL y sus principales propiedades generales,
y mediante un conjunto de etiquetas especiales, PARAM, se le van pasando los
valores que necesita para su correcto funcionamiento o para su configuración
deseada.
La sintaxis general de la etiqueta object, para el caso de
ficheros de sonido, es del tipo:
<object
atributo1="valor1" atributo2="valor2" ... atributoN="valorN">
<param
name="nombre" value="valor">
<param name="nombre" value="valor">
...
</object>
Los principales atributos de object,
en referencia a ficheros de audio, son:
- classid="identificador_objeto", que fija la URL del objeto o
componenteexterno necesario para reproducir el fichero de audio, y la
implementación CLSID de los controles ActiveX necesarios.
- type="tipo_fichero", atributo importante, que declara el tipo de
fichero de audio que estamos usando.
- width="w", que determina el ancho visible de la consola, en pixels.
- height="h", que determina el alto visible de la consola, en pixels.
- align="top/bottom/center/baseline/left/right
/texttop/middle/absmiddle/absbotom", análogo al de la etiqueta IMG, define
la alineación horizontal o vertical de la consola respecto de los elementos de
la página.
- hspace="hs", que establece la separación horizontal, vspace="vs",
que establece la separación vertical, en pixels, entre la consola y los
elementos de la página que la redean. Análoga a sus equivelentes de la
etiqueta IMG.
- autostart="true/false", que determina si el fichero de audio debe
empezar a reproducirse por sí sólo al cargarse la página o si por el contrario
será preciso la actuación del usuario (o de código de script) para que
comience la audición.
- standby="mensaje", que presenta en pantalla un mensaje al usuario
mientras el fichero se carga.
En cuanto a los elementos param, los más
importantes son:
- param name="FileName" value="ruta_fichero", determina la ruta o URL
del fichero de audio a reproducir. No es necesario utilizar sólo ficheros WAV
o MID, pudiendo reproducirse también ficheros MP3 o Real Audio. El reproductor
del primero lo incluye Explorer en ActiveMovie (componente de Windows Media).
- param name="autostart" value="true/false", indica al navegador si
se debe empezar a reproducir el sonido automáticamente al cargar la página o
si por el contrario será preciso que el usuario pulse el botón Play para ello.
No son estos todos los atributos y parámetros posibles. Es más, en cuanto nos
metemos en componentes Microsoft, podemos encontrarnos multitud de configuraciones
posibles, que nos van a permitir fijar muchos aspectos de los mismos. Dejo a
cada uno la posibilidad de profundizar en el estudio de aquellos componentes
y propiedades que necesite, pero sabiendo que con los elementos vistos arriba
tenemos más que suficiente para presentar un fichero de audio en nuestra página
web.
xEjemplo:
<object classid="CLSID:05589FA1-C356-11CE-BF01-00AA0055595A" width="150"
height="175" type="audio/midi">
<param name="FileName" value="../sonidos/xfiles.mid">
<param name="autostart" value="true">
</object>>
(sólo Internet Explorer).
La etiqueta A.
Si hasta ahora hemos visto cómo podemos incluir en nuestras páginas sonidos
de fondo o inicializados por el usuario mediante interacción con la consola
Crescendo, vamos a ver ahora cómo podemos implementar audio mediante el uso
de una de las etiquetas más polivalentes en HTML: la etiqueta A.
Efectivamente, los enlaces son la base del hipertexto, base a su vez de la web,
y dentro de sus múltiples usos podemos considerar el enlace a ficheros de audio.
El fichero enlazado puede ser interpretado directamente por el navegador (porque
sea de reproducción directa o se tenga instalado el plugin adecuado) o puede
ser ejecutado por un programa independiente que se abra automáticamente (Winamp,
Real Audio, etc.), siendo este el caso más común. Si el usuario no dispone del
programa o plugin adecuado, se le abrirá una ventana de descarga del fichero,
con lo que podrá guardarlo hasta disponer de la aplicación necesaria para su
reproducción.
La sintaxis general en este caso será del tipo:
<a href="ruta_fichero">Mensaje</a>
Ejemplo de fichero MID:
<a href="../sonidos/watermark.mid">Música para tí</a>
Ejemplo de fichero MP3:
<a href="../sonidos/mp3.mp3">Madonna</a>
Regresar arriba
INSERTAR VIDEO EN HTML
<embed src="nombre_de_archivo" width="300" height="200"></embed>
Regresar arriba
Tecnológico NYCE