Los marcos permiten dividir la página HTML en varias regiones. Cada una de estas regiones es independiente y puede modificarse por separado.
Para ello es necesario conocer la representación de objeto utilizada por JavaScript para representar estas regiones: una ventana de navegación y una ventana que representa al objeto actual. Esta página HTML contiene también la definición de la función view_doc que permite visualizar la estructura de un documento. Este ejempo se describe a continuación:
<HEAD>
<SCRIPT>
function view_doc(obj, obj_name){
var result="", i="";
for(i in obj)
result += obj_name + "." + i + " = " + obj[i] + "<br>\n";
return result;
}
</SCRIPT>
</HEAD>
<FRAMESET ROWS="15%, 85%">
<FRAME NAME="menu" SCR="nav.htm">
<FRAME NAME="doc" SCR="doc.htm">
</FRAMESET>
Cada marco puede acceder a la estructura del documento definiéndolo mediante la función parent. También podrá acceder a las funciones definidas en los otros marcos utilizando la construcción:
parent.FrameName.fucntionName
donde FrameName corresponde al valor del atributo NAME de la marca FRAME. Así, se podrá acceder a la función view_doc definida en el documento como:
parent.view_doc(parent,"parent");
La estructura del objeto descrito por el código HTML anterior es:
parent.length = 2;
parent.frame[0].name = "menu";
parent.frame[1].name = "doc";
Las variables JavaScript son locales al documento. Así, para llamar a una función definida en otro marco y cuyos parámetros son variables locales, es necesario precisar explícitamente el marco al que pertenecen estas variables. Por ejemplo, para acceder a partir del marco Frame1 a la función FuncName definida en el marco Frame2, se utilizará:
parent.Frame2.FuncName(parent.Frame1.Variables)
De igual modo, para ejecutar la función FuncName, definida localmente, y cuyos parámetros se declaran en el marco Frame2 se utilizará:
FuncName(parent.Frame2.Variables)
El ejemplo anterior define un menú de navegación. Este menú, insertado mediante la marca HTML:
<FRAME NAME="menu" SRC="nav.htm">
se refiere al archivo HTML nav.htm decrito como:
<HEAD>
<TITLE> Menú de navegación </TITLE>
</HEAD>
<BODY>
<FORM>
<CENTER><TABLE>
<TR>
<TD><INPUT type=button Value=" Inicio "
onClick="parent.doc.location='Inicio.html'">
<TD><INPUT type=button Value=" << Atrás << "
onClick="parent.doc.history.back()">
<TD><INPUT type=button Value=" >> Adelante >> "
onClick="parent.doc.history.forward()">
</TABLE></CENTER>
</FORM>
</BODY>
Autor: ulpgc.es
http://www.ulpgc.es
Usuarios que han visto este tema también han visto...
- ¿Carga rápido tu página?
- Cómo detectar la resolución de la pantalla en JavaScript
- Frase al azar con Javascript
- History en Javascript
- Un script en Javascript que detecta el navegador del visitante
- Versión imprimible de este documento
- Enviar por e-mail este documento