FRAMES HTML FRAMES (DIVISIONES POR CUADROS) Con los frames es posible dividir la pantalla del navegador en varios cuadros (frames) permitiendo mostrar una dirección (URL) distinta en cada una de ellas. En cada frame se nos permite: Mostrar su propia dirección (URL), diferenciada del resto de los frames de la pantalla. De esta manera tendrán asociado un nombre, que las distinguirán del resto de los frames de la pantalla y permitirá hacer interconexiones entre los distintos cuadros. Por ejemplo, si tenemos una página que comprenda a tres frames, podríamos hacer que dos de los frames se mantuvieran fijos y uno presentara información dinámica. Quizá el frame 1 sirve menú general el 2 de submenú y el 3 donde se proyecta la información del menú o submenú. En el caso que se cambie el tamaño de la ventana, se podrá determinar si el frame se ajusta a este tamaño o mantiene su tamaño intacto. Véase la siguiente dirección: http://www.fergut.com/tec_soc/ El uso de los frames es útil para cierto tipo de documentos, pero puede llegar a dificultar la navegación. Dentro de un documento con frames no tendría gran utilidad los botones de documento previo (back) ni documento siguiente (forward), ya que ambos nos trasladarían fuera del documento con frames. Para ver el documento previo en una de los frames debemos utilizar el botón derecho del ratón sobre ella y seleccionar la opción volver en el frame (Back in Frame). Esto hace que cuando se utilicen frames haya que cuidar la correcta transición entre documentos. No todos los navegadores pueden mostrar documentos con frames, solo son interpretables por el Netscape 2.0 o superior y el Internet Explorer 3.0 o superior. Por tanto en este caso si se quiere que el documento sea accesible por gran cantidad de usuarios de debe crear un documento con frames y otro sin ellas, usando la etiqueta <NOFRAMES>. 16.1 ESTRUCTURA DE FRAMES Un documento con frames se define de manera diferente a un documento normal, en este caso no se define la etiqueta BODY. Su estructura es la siguiente: <HTML> <HEAD> Definiciones de la cabecera </HEAD> <FRAMESET> Definición de los frames que forman el documento y de los archivos que incluye cada una. </FRAMESET> <NOFRAMES> Instrucciones HTML que se mostrará en los navegadores que no soporten frames. </NOFRAMES> </HTML> Dentro de la etiqueta <NOFRAME> se podrá incluir una explicación de que el documento solo es visible con el navegadores que soporten frames, o bien incluir una versión del documento que se muestre sin necesidad de frames. 16.2 <FRAMESET ...> Definición de las frames. Con esta instrucción definiremos los frames que formarán el documento, su sintaxis es similar a la de las tablas, pero con la diferencia de que cada división es autónoma permitiendo definir muy distintos tipos de frames. Su formato es el siguiente: COLS=”Lista de las Columnas” <FRAMESET ROWS=”Lista de las Filas”> <FRAME SRC=”URL_1” NAME="Nombre de la frame1"> <FRAME SRC=”URL_2” NAME="Nombre de la frame1"> ... <FRAME SRC=”URL_N” NAME="Nombre de la frameN"> </FRAMESET> ROWS: Se definirá separado por comas el tamaño de cada una de las frames. De esta forma se dividirá la pantalla de forma horizontal, según cada una de las filas definidas. El tamaño del frame, puede expresarse de las siguientes formas: En valor absoluto, que indicará el tamaño en puntos de la pantalla. En este caso si todos los frames se indican de este modo, los valores se ajustarán para que los frames ocupen la totalidad del espacio de la ventana del navegador, no guardando siempre la proporción con la que se definen los frames. (NO ES PROPORCIONAL AL TAMAÑO DE LA PANTALLA) Otra forma es utilizando valores por centuales sobre el tamaño de la ventana, en este caso si los porcentajes suman un valor distinto del 100%, se ajustarán para que coincidan con el tamaño de la ventana. Se podrá combinar con el apartado anterior de forma que algunas frames se definan en valor absoluto y otras en porcentaje. (% ES PROPORCIONAL AL TAMAÑO DE LA PANTALLA) De forma relativa con el símbolo “*” que indica el tamaño restante de la ventana. Si se indica un frame como 200 y otro como “*”, el primero ocupará 200 pixeles y el segundo el espacio restante. Se puede combinar con las definiciones anteriores. Como se ha visto en el apartado anterior con la etiqueta FRAME definiremos el documento que se mostrará en un cuadro y su nombre. Esta etiqueta presenta además algunos otros atributos: <FRAME SRC="URL" NAME="Nombre de la frame" MARGINWIDTH="ancho del margen" MARGINHEIGHT="alto del margen" SCROLLING=YES | NO | AUTO NORESIZE> URL: Especifica el documento HTML o archivo que se mostrará en el frame definido. Si no se especifica documento alguno se mostrará el frame vacío. NAME: Indica el nombre del frame. Este nombre es importante ya que se usará para los hiperenlaces o ligas (normalmente en los documentos de los otros frames) para indicar el frame de destino del documento. Si no se indica el nombre solo se podrá mostrar el documento actual, sin que sea posible cambiarlo mediante hiperenlaces. MARGINWIDTH: Indica el ancho del margen, este atributo es opcional y normalmente el navegador ajusta todos los márgenes al mismo tamaño, si se especifica su valor será en puntos de la pantalla. MARGINHEIGHT: Igual que en el caso anterior pero para el alto de los márgenes. Lo normal es no especificar ninguno de estos dos atributos. SCROLLING: Indica si el frame tendrá o no una barra de scroll, la barra de scroll se muestra en el lateral y permite el desplazamiento por el documento, pulsando con el ratón en ella. Si toma el valor YES, siempre se mostrará esta barra, para el valor AUTO solo se mostrará si el documento no cabe en el frame presentado en pantalla, si es necesario. Y por último NO indica que en ningún caso se muestre la barra de scroll. Si no se indica nada se toma por defecto el valor AUTO. NORESIZE: Indica que el frame no debe ser variada de tamaño por el usuario, se puede variar el tamaño de un frame situando el cursor del ratón encima y arrastrando en la dirección deseada. Con este atributo el usuario no podrá cambiar el tamaño del frame en ningún caso. Por defecto todas las frames pueden variar su tamaño. TARGET: Atributo para indicar el frame de destino, en que cuadro (FRAME) se va a presentar la información. El uso de frames introduce un nuevo atributo a alguna de las etiquetas especificadas con anterioridad, este atributo es TARGET que indicará el frame de destino de la operación. Normalmente, en páginas sin frames, cuando se seguía un hiperenlaces este se mostraba en la misma ventana del navegador sustituyendo el documento actual. Con los frames se puede especificar que cuadro presentará la información dinámica, no necesariamente debe ser el mismo frame donde suceda el cambio. Como nombre del frame su usará el nombre que se especifico en el atributo NAME de la etiqueta FRAME. Estas instrucciones se utilizarán normalmente en los documentos que se incluyen dentro de los frames. Las etiquetas que permiten el uso de TARGET son las siguientes: <A HREF="url" TARGET="frame"> BASE: Indicará el frame en el que se mostrará por defecto todos los hiperenlaces del documento actual. Se debe especificar en la cabecera del documento (HEAD). <BASE TARGET="frame">