Frames, las ventanas llegan al WWW

Jorge Ferrer

Víctor García

Versión 1.0

Editado por

Jorge Ferrer

Una de las extensiones usadas más habitualmente el WWW son los marcos o frames. A algunos programadores les horroriza la idea de que sus páginas tengan frames, otros no entienden como han podido vivir sin ellos hasta ahora. Pero, lo que está claro es que existen páginas web donde se ha demostrado que al menos en ciertos casos un buen uso de frames mejora mucho la experiencia del navegante.

En este capítulo se explica cómo usarlos y usarlos bien. Entre las características avanzadas se verá cómo anidar framesets para crear estructuras complejas, cómo manejar y ocultar los bordes y cómo decidir en qué frame debe mostrarse el resultado de un enlace. Después pasaremos a explicar la quinta práctica del curso, en la que añadiremos frames a la página web de Los Alpes. Como guinda, aprenderemos a usar frames flotantes, un recurso que forma parte del estándar HTML 4.0 pero que no es muy usado aún.

Aviso Legal
Tabla de contenidos
1. El atributo TARGET
2. La etiqueta BASE
3. Creación de páginas con frames
4. Creación del documento de definición de frames
4.1. División en columnas
4.2. División en filas
4.3. Combinando COLS y ROWS
4.4. La etiqueta FRAME
5. Página completa con frames
6. Atributos de la etiqueta FRAME
7. Compatibilidad: NOFRAME
8. Anidamiento de framesets
9. Bordes de los frames
9.1. Cambiando el color del borde
9.2. Como quitar el borde
9.3. Grosor del borde
10. Valores especiales del atributo TARGET
10.1. Ejercicio con TARGET
11. Práctica 5: Web de Los Alpes con frames
11.1. Documento de definición de frames
11.2. El frame Banner
11.3. Frame principal
11.4. Últimos retoques
12. Frames flotantes
12.1. Atributos de los frames flotantes

Los frames consisten en una técnica para insertar varios documentos HTML en una sola ventana del navegador. Para ello divide la pantalla en varias zonas o secciones que reciben el nombre de frames o marcos. En cada uno de estos marcos debemos insertar un contenido, que en general constará de un documento HTML, aunque también puede ser una imagen o algún otro elemento del WWW visualizable por los navegadores. En la figura 8.1 podemos ver un ejemplo de Explorer dividido en 4 frames:

Figura 8.1. Los frames nos permiten dividir la ventana del navegador en varias secciones diferentes. En este caso la ventana a sido dividida en 4 frames.

Una de las ventajas de los frames es que cada uno de los documentos HTML puede ser cambiado sin que ello afecte al resto. Ya en el capítulo anterior (figuras 9.1 y 9.6) vimos algunos ejemplos de uso de frames que nos pueden ayudar a hacernos una idea de su funcionamiento y de los que seremos capaces de hacer tras este capítulo.

Además de sus ventajas los frames también tienen algunos inconvenientes. Por ello desde su aparición en la versión 1.0 del navegador Netscape Navigator han sido el foco de una gran controversia. Uno de los principales problemas de los frames es el hecho de ser una extensión del lenguaje HTML y no formar parte del estándar. Por esta razón no todos los navegadores están preparados para ellos y no podrán visualizar páginas que contengan frames. Pero afortunadamente, hoy en día la mayor parte de los navegadores gráficos los soportan. Entre estos se incluyen Netscape Navigator 1.0 o superior (por supuesto), Microsoft Internet Explorer 3.0 o superior y Opera 3.0. Además existen métodos para solucionar el problema de los navegadores no compatibles.

Nota

Actualmente todos los navegadores gráficos habitualmente usados desde ordenadores personales soportan el uso de frames. Sin embargo en navegadores para dispositivos móviles, navegadores textuales y navegadores que leen la página el uso de frames puede ser perjudicial.

El segundo gran foco de la controversia es mucho menos técnico y radica en la discusión de si los frames son útiles o no. Probablemente el origen de esta discusión surgió con el BOOM sucedido cuando aparecieron los frames. Debido a lo novedoso del tema, una gran parte de los programadores de páginas Web empezaron a usar frames indiscriminadamente, con lo que el WWW se pobló de ellos y en la mayoría de los casos estos sólo eran usados porque eran algo nuevo, pero perjudicaban la navegación. Por esta razón empezaron a surgir detractores de los frames. Pero, ahora, pasado un tiempo ya no existen tantos sitios Webs que usan frames de manera abusiva, con lo que aquellos que discutían empiezan a llegar a un acuerdo. Lo que casi todo el mundo parece admitir es que en ciertas ocasiones, como la que nos encontramos en el Web de la figura 8.2, el uso de frames puede ser conveniente y ayuda a la navegación, que es en definitiva el motivo por el que surgieron en primer lugar.

Figura 8.2. En el Web www.chess.com podemos ver un excelente ejemplo del uso de frames para mantener visibles las barras de navegación.

En este Web existen tres frames. A la izquierda se ha usado uno como barra de navegación donde se encuentran enlaces a las distintas secciones. En la parte superior nos encontramos con un segundo frame que contiene el encabezado gráfico de la página con el logo de los Aficionado así como otros links. El tercero de los frames es el que ocupa una mayor área, y en el se encuentra el contenido de la página Web. El objetivo de los frames en este caso consiste en mantener siempre visible el encabezado y barra de navegación mientras el visitante se mueve por el contenido principal usando las barras de desplazamiento, las cuales, como podemos observar, sólo afectan al tercero de los frames. En definitiva los frames son, sin duda, útiles para mantener visibles barras de navegación (gráficas o simplemente enlaces hipertexto) o encabezados y/o logotipos muy importantes aunque el navegante se desplace por el contenido de la página o navegue por el sitio Web.

Sin perder más tiempo vamos a empezar ya a estudiar las etiquetas y atributos necesarios para crear los frames. Para empezar vamos a ver un atributo, TARGET, y una etiqueta, BASE, que están enormemente relacionados con la creación de páginas con frames. Posteriormente nos adentraremos en las etiquetas necesarias para crear la estructura de frames en las páginas.